配置spark driver

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()

你可能感兴趣的:(配置spark driver)