私は通常のルーチン:sc.broadcast(x)
を知っています。Spark Streamingマッピング関数で変数をブロードキャストする方法は?
現在のところ、Spark Streamingは、チェックポイント設定のブロードキャスト変数をサポートしていません。
公式ガイドは解決策を提供します:http://spark.apache.org/docs/latest/streaming-programming-guide.html#accumulators-and-broadcast-variables。ただし、このソリューションはforeachRDD関数でのみ使用できます。
ここでは、マッピング関数(flatMapToPair
など)でこのようにブロードキャストする必要がある大規模または直列化不可能な変数(KafkaProducer
など)を使用したいが、目に見えるRDD変数がないため、Sparkコンテキスト遅延評価された変数をブロードキャストする。 DStreamを作成するための初期コンテキストまたはDStreamから取得されたコンテキストを使用すると、タスクは直列化できなくなります。
マッピング関数でブロードキャスト変数を使用するにはどうすればよいですか?または、マッピング関数で大規模または直列化不可能な変数を使用するための回避策はありますか?