jupyter 如何连接spark
jupyter连接spark有两种方式:
- 第一种: 利用findspark这个包
首先常规的启动jupyter这个服务,然后在python程序里面
import findspark
findspark.init(args) #这个args要指明SPARK_HOME 例如:findspark.init("/usr/local/spark")
from pyspark.sql import SparkSession
sc=SparkSession.builder.appName("new_spark")
.config("spark.executor.memory","10g")
.config("spark.executor.cores","8")
.config("spark.exector.instances","3")
.getOrCreate()
利用这种方式启动spark会话的时候,集群里面是可以获取得到指定配置的资源
- 第二种:启动jupyter的时候使用这样的命令:
PYSPARK_DRIVER_PYTHON=ipython PYSPARK_DRIVER_PYTHON_OPTS="notebook" pyspark2
用这种方式启动jupyter的时,依旧运行上述的程序都的时候,会发现在yarn的集群里面并没有申请到这些资源
结论:强烈推荐利用第一种的方式用jupyter
因为利用这样的方式,启动spark的时候可以设置参数获取集群的资源。第二种方式,目前还没有找到方法,让在jupyter里面编辑的spark程序获取得到资源。