我是 PySpark 和 EMR 的新手。
我试图通过 Jupyter notebook 访问在 EMR 集群上运行的 Spark,但遇到了错误。
我正在使用以下代码生成 SparkSession:
spark = SparkSession.builder \
.master("local[*]")\
.appName("parallelization on Spark")\
.getOrCreate()
尝试按照以下方式访问远程集群,但出错了:
spark = SparkSession.builder \
.master("spark://<remote-emr-ec2-hostname>:7077")\
.appName("parallelization on Spark")\
.getOrCreate()
错误:
Py4JJavaError: An error occurred while calling None.org.apache.spark.api.java.JavaSparkContext.
: java.lang.NullPointerException
at org.apache.spark.SparkContext.<init>(SparkContext.scala:567)
at org.apache.spark.api.java.JavaSparkContext.<init>(JavaSparkContext.scala:58)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
如能提供解决此问题的任何帮助,我们将不胜感激。
最佳答案
EMR 集群为您配置了 Jupyter 和 JupyterHub since EMR version 5.14.0 .
很可能,tune those provisioned services up 更容易使用一些额外的引导操作,而不是将您的本地进程连接到 EMR 主节点。
关于python - Jupyter + EMR + Spark - 从本地机器上的 Jupyter notebook 连接到 EMR 集群,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44800857/