当我启动我的pyspark设置时,它会创建一个Jupyter笔记本,我可以在网上愉快地访问它。它还会自动创建诸如“sc”和“spark”之类的对象 - 上下文。我在哪里可以覆盖这些对象的初始化方式?
答案 0 :(得分:1)
在jupyter中启动纯python内核。然后为spark和pyspark添加环境变量,并将sys.path
添加到pyspark libs中,例如:
import os, sys
os.environ['SPARK_HOME'] = '/home/mario/spark-2.1.0-bin-hadoop2.7'
os.environ['PYSPARK_SUBMIT_ARGS'] = "--master local[2] --driver-memory 2g pyspark-shell"
os.environ['PYSPARK_PYTHON'] = '/usr/bin/python3'
sys.path.insert(0, '/home/mario/spark-2.1.0-bin-hadoop2.7/python/lib/py4j-0.10.4-src.zip')
sys.path.insert(0, '/home/mario/spark-2.1.0-bin-hadoop2.7/python')
然后您可以在jupyter单元格中自定义spark初始化,例如:
from pyspark.sql.session import SparkSession
spark = (SparkSession.builder
.appName('picapica')
.config('spark.speculation', 'true')
.getOrCreate())