3

运行后pip install BigDL==0.8.0from bigdl.util.common import *从 python 运行完成没有问题。

但是,使用以下任一 SparkSession:

spark = (SparkSession.builder.master('yarn')
    .appName('test')
    .config("spark.jars", "/BigDL/spark/dl/target/bigdl-0.8.0-jar-with-dependencies-and-spark.jar")
    .config('spark.submit.pyFiles', '/BigDL/pyspark/bigdl/util.zip')
    .getOrCreate()
)

或者

spark = (SparkSession.builder.master('local')
    .appName('test')
    .config("spark.jars", "/BigDL/spark/dl/target/bigdl-0.8.0-jar-with-dependencies-and-spark.jar")
    .config('spark.submit.pyFiles', '/BigDL/pyspark/bigdl/util.zip')
    .getOrCreate()
)

我收到以下错误。

ImportError: ('No module named bigdl.util.common', <function subimport at 0x7fd442a36aa0>, ('bigdl.util.common',))

除了'spark.submit.pyFiles'上面的配置,在 SparkSession 成功启动后,我尝试spark.sparkContext.addPyFile("util.zip") 了“util.zip”包含https://github.com/intel-analytics/BigDL/tree/master/pyspark/bigdl中的所有 python 文件的位置/实用程序

我还压缩了此文件夹中的所有内容https://github.com/intel-analytics/BigDL/tree/master/pyspark/bigdl (branch-0.8) 并指向该文件.config('spark.submit.pyFiles', '/path/to/bigdl.zip'),但这也没有工作。

如何让 SparkSession 查看这些文件?

4

1 回答 1

3

弄清楚了。唯一有效的是spark.sparkContext.addPyFile("bigdl.zip")在 SparkSesssion 开始之后。其中“bigdl.zip”包含 https://github.com/intel-analytics/BigDL/tree/master/pyspark/bigdl (branch-0.8) 中的所有文件。

不知道为什么.config('spark.submit.pyFiles', 'bigdl.zip')不起作用。

于 2019-04-24T21:38:29.107 回答