我想向每个 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()