ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

pyspark

2022-07-17 13:04:46  阅读:163  来源: 互联网

标签:pyspark self hive conf spark SPARK


1:PySpark类库和标准Spark框架的简单对比

 

 

 2: 安装

将/spark/python/pyspark  复制到    python 的安装包中  或者 pip install pyspark   (注意版本对应关系)

3:spark on hive

  • 本质: 将hive的执行引擎替换为spark 的执行引擎!

   

  • 配置:
    • 校验hive的是否正常运行(即链接hive,执行sql操作,看是否正常运行)
    • 将hive/conf/hive-site.xml  复制到 spark/conf 下,将mysql-connector-java-5.1.46.jar 复制到spark的jars/
    • 启动spark-sql,show databases 看是否正常运行
    • root@hadoop jars]# spark-sql
      Setting default log level to "WARN".
      To adjust logging level use sc.setLogLevel(newLevel). For SparkR, use setLogLevel(newLevel).
      22/07/17 11:29:33 WARN NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
    • 启动spark/bin/下的pyspark

     

4:再python代码中集成pyspark

import findspark
findspark.init()

from pyspark import SparkConf
from pyspark.sql import SparkSession
import os
import sys

PYSPARK_PYTHON = "/usr/local/python3/python"
JAVA_HOVE = "/usr/local/java/jdk1.8.0_131/"
# 当存在多个版本时,不指定很可能会导致出错
os.environ["PYSPARK_PYTHON"] = PYSPARK_PYTHON
os.environ["PYSPARK_DRIVER_PYTHON"] = PYSPARK_PYTHON
os.environ["JAVA_HOVE"] = JAVA_HOVE

class SparkSessionBase(object):
    SPARK_APP_NAME = None
    SPARK_URL = 'yarn'

    SPARK_EXECUTOR_MEMORY = '2g'
    SPARK_EXECUTOR_CORES = 1
    SPARK_EXECUTOR_INSTANCES = 1

    ENABLE_HIVE_SUPPORT = False
    HIVE_URL = "hdfs://hadoop:9000//user/hive/warehouse"
    HIVE_METASTORE = "thrift://hadoop:9083"

    def _create_spark_session(self):

        conf = SparkConf()
        config = (
            ("spark.app.name", self.SPARK_APP_NAME),  # 设置启动的spark的app名称,没有提供,将随机产生一个名称
            ("spark.executor.memory", self.SPARK_EXECUTOR_MEMORY),  # 设置该app启动时占用的内存用量,默认2g
            ("spark.master", self.SPARK_URL),  # spark master的地址
            ("spark.executor.cores", self.SPARK_EXECUTOR_CORES),  # 设置spark executor使用的CPU核心数,默认是1核心
            ("spark.executor.instances", self.SPARK_EXECUTOR_INSTANCES),
            ("spark.sql.warehouse.dir", self.HIVE_URL),
            ("hive.metastore.uris", self.HIVE_METASTORE),
        )
        conf.setAll(config)

        # 利用config对象,创建 spark session 对象
        if self.ENABLE_HIVE_SUPPORT:
            return SparkSession.builder.config(conf=conf).enableHiveSupport().getOrCreate()
        else:
            return SparkSession.builder.config(conf=conf).getOrCreate()

 

标签:pyspark,self,hive,conf,spark,SPARK
来源: https://www.cnblogs.com/Live-up-to-your-youth/p/16486670.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有