0

我想向每个 Spark 工作人员发送一个基本配置文件。配置文件是为 Python 的 configobj 编写的。我在提交作业时指定它。

$ ./bin/spark-submit --files .../config.cfg .../spark_str_hello.py

但是当我尝试阅读它时,发现它在那里不存在。当我尝试打印 config.sections (应该返回一个列表)时,会打印空列表。以下是字数统计的基本示例。我还尝试使用 foreachRDD 初始化工作人员的配置,结果相同。有什么特殊的方法可以将文本文件发送给 Spark 工作人员吗?

from pyspark import SparkContext
from pyspark.streaming import StreamingContext
from configobj import ConfigObj

config = ConfigObj('config.cfg')


sc = SparkContext()
ssc = StreamingContext(sc, 1)
lines = ssc.socketTextStream('localhost', 9999)
words = lines.flatMap(lambda x: x.split(' '))
pairs = lines.map(lambda x: (x, 1))
wordCount = pairs.reduceByKey(lambda x, y: x + y)
print config.sections

pairs.pprint()
ssc.start()
ssc.awaitTermination()
4

1 回答 1

1

您需要使用SparkFiles.get("FILE")来访问通过发送的文件--files

于 2015-10-26T14:19:53.823 回答