すべての Spark ワーカーに基本的な構成ファイルを送信したいと考えています。設定ファイルは Python の configobj 用に書かれています。ジョブ投入時に指定します。
$ ./bin/spark-submit --files .../config.cfg .../spark_str_hello.py
しかし、読んでみると、そこには存在しないことがわかりました。print 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()