【发布时间】:2018-07-20 21:15:32
【问题描述】:
使用 addPyFiles() 似乎不会将所需文件添加到 spark 作业节点(spark 的新手,因此此处可能缺少一些基本的使用知识)。
尝试使用 pyspark 运行脚本并看到某些模块无法导入的错误。以前从未使用过 spark,但其他帖子(来自有问题的包 https://github.com/cerndb/dist-keras/issues/36#issuecomment-378918484 和 https://stackoverflow.com/a/39779271/8236733)建议压缩模块并通过 sparkContext.addPyFiles(mymodulefiles.zip) 添加到 spark 作业,但仍然出现错误。相关代码sn-ps是...
from distkeras.trainers import *
from distkeras.predictors import *
from distkeras.transformers import *
from distkeras.evaluators import *
from distkeras.utils import *
(我在这里导入的包在https://github.com/cerndb/dist-keras找不到),
conf = SparkConf()
conf.set("spark.app.name", application_name)
conf.set("spark.master", master) #master='yarn-client'
conf.set("spark.executor.cores", `num_cores`)
conf.set("spark.executor.instances", `num_executors`)
conf.set("spark.locality.wait", "0")
conf.set("spark.serializer", "org.apache.spark.serializer.KryoSerializer");
if using_spark_2:
from pyspark.sql import SparkSession
sc = SparkSession.builder.config(conf=conf) \
.appName(application_name) \
.getOrCreate()
sc.sparkContext.addPyFile("/home/me/Downloads/distkeras.zip") # see https://github.com/cerndb/dist-keras/issues/36#issuecomment-378918484 and https://forums.databricks.com/answers/10207/view.html
print sc.version
(distkeras.zip 是此目录的压缩文件。:https://github.com/cerndb/dist-keras/tree/master/distkeras),以及
transformer = OneHotTransformer(output_dim=nb_classes, input_col="label_index", output_col="label")
dataset = transformer.transform(dataset)
"""throwing error...
.....
File "/opt/mapr/spark/spark-2.1.0/python/pyspark/serializers.py", line 458, in loads
return pickle.loads(obj)
ImportError: No module named distkeras.utils
at org.apache.spark.api.python.PythonRunner$$anon$1.read(PythonRDD.scala:193)
.....
"""
从我能找到的文档和示例(http://spark.apache.org/docs/2.1.0/api/python/pyspark.html#pyspark.SparkContext.addPyFile 和 https://forums.databricks.com/questions/10193/the-proper-way-to-add-in-dependency-py-files.html)中,上面的代码似乎对我有用(同样,以前从未使用过 spark)。有人知道我在这里做错了什么吗?可以发布对调试有用的更多信息吗?
【问题讨论】:
标签: apache-spark pyspark