【问题标题】:Specifying python files for jupyter notebook on a Spark cluster在 Spark 集群上为 jupyter notebook 指定 python 文件
【发布时间】:2018-05-22 23:29:22
【问题描述】:

我在 Spark 集群上运行 jupyter-notebook(使用 yarn)。我正在使用“findspark”包来设置笔记本,它工作得非常好(我通过 SSH 隧道连接到集群主机)。 当我写一个“独立”的笔记本时,它工作得很好,例如以下代码运行没有问题:

import findspark
findspark.init()

import pyspark

sc = pyspark.SparkContext(appName='myApp')
a = sc.range(1000,numSlices=10)
a.take(10)
sc.stop()

Spark 作业完全分布在工作人员身上。但是,当我想使用自己编写的 python 包时,worker 上的文件丢失了

当我不使用 Jupyter-notebook 并且使用 spark-submit --master yarn --py-files myPackageSrcFiles.zip 时,我的 Spark 作业运行良好,例如以下代码运行正确:

ma​​in.py

import pyspark
from myPackage import myFunc

sc = pyspark.SparkContext(appName='myApp')
a = sc.range(1000,numSlices=10)
b = a.map(lambda x: myFunc(x)) 
b.take(10)
sc.stop()

然后

spark-submit --master yarn --py-files myPackageSrcFiles.zip main.py

问题是:如何从 jupyter notebook 运行 main.py?我尝试使用 pyfiles 关键字在 SparkContext 中指定 .zip 包,但出现错误...

【问题讨论】:

    标签: python apache-spark pyspark jupyter-notebook


    【解决方案1】:

    我尝试使用 pyfiles 关键字在 SparkContext 中指定 .zip 包,但出现错误

    这是骆驼案:

    sc = pyspark.SparkContext(appName='myApp', pyFiles=["myPackageSrcFiles.zip"])
    

    或者你可以addPyFile

    sc.addPyFile("myPackageSrcFiles.zip")
    

    【讨论】:

      猜你喜欢
      • 2020-10-31
      • 2020-08-10
      • 1970-01-01
      • 2016-05-24
      • 2019-11-24
      • 2020-09-18
      • 1970-01-01
      • 2018-09-19
      • 2016-06-02
      相关资源
      最近更新 更多