配置spark driver

    技术2022-07-13  65

    import os

    配置spark driver和pyspark运行时,所使用的python解释器路径

    由于miniconda3中默认存在一个python3.7的版本,jupyter默认也使用的是这个版本,故:设置pyspark的解释器为miniconda3的解释器

    PYSPARK_PYTHON = “/root/miniconda3/bin/python3” JAVA_HOME=’/root/bigdata/jdk1.8.0_181’

    当存在多个版本时,不指定很可能会导致出错

    os.environ[“PYSPARK_PYTHON”] = PYSPARK_PYTHON os.environ[“PYSPARK_DRIVER_PYTHON”] = PYSPARK_PYTHON os.environ[‘JAVA_HOME’]=JAVA_HOME

    spark配置信息

    from pyspark import SparkConf from pyspark.sql import SparkSession

    SPARK_APP_NAME = “preprocessingBehaviorLog” SPARK_URL = “spark://192.168.199.126:7077”

    conf = SparkConf() # 创建spark config对象 config = ( (“spark.app.name”, SPARK_APP_NAME), # 设置启动的spark的app名称,没有提供,将随机产生一个名称 (“spark.executor.memory”, “2g”), # 设置该app启动时占用的内存用量,默认1g (“spark.master”, SPARK_URL), # spark master的地址 (“spark.executor.cores”, “2”), # 设置spark executor使用的CPU核心数 # 以下三项配置,可以控制执行器数量

    (“spark.dynamicAllocation.enabled”, True),

    (“spark.dynamicAllocation.initialExecutors”, 1), # 1个执行器

    (“spark.shuffle.service.enabled”, True)

    (‘spark.sql.pivotMaxValues’, ‘99999’), # 当需要pivot DF,且值很多时,需要修改,默认是10000

    )

    查看更详细配置及说明:https://spark.apache.org/docs/latest/configuration.html

    conf.setAll(config)

    利用config对象,创建spark session

    spark = SparkSession.builder.config(conf=conf).getOrCreate()

    Processed: 0.012, SQL: 9