My Sparkアプリケーションがいくつかのエグゼキュータを起動します。 私はエグゼキュータを介して広がるいくつかのパーティションを持っています。Spark - エグゼキュータコンテキストごとに異なる変数を作成する方法は?
これらのパーティションでmap()を使用している場合、MongoDB接続(MongoDB Java Driver)を使用してそこからより多くのデータをクエリし、このデータを処理してmap()関数の出力として返します。
エグゼキュータごとに1つの接続を作成したいとします。 各パーティションはこのexecutor-local変数にアクセスし、それを使用してデータを照会する必要があります。
各パーティションの接続を確立することは、おそらく良い考えではありません。接続をブロードキャストすることは、シリアル化可能ではないためには機能しません(私は思っていますか?)。
それを合計するには、次の
- どのように各エグゼキュータコンテキストの異なる変数を作成するには?
map()またはmapPartitions()を使用しましたか? – Shankar