基本的に、いくつかの単純なjsonファイルを読み取り、それらを1つのフィールドで分割されたorcファイルとして書き込もうとするpython sparkジョブがあります。一部のキーは非常に大きく、他のキーは非常に小さいため、パーティションはあまりバランスが取れていません。
次のようなことをすると、メモリの問題が発生しました。
events.write.mode('append').partitionBy("type").save("s3n://mybucket/tofolder"), format="orc")
エグゼキュータにメモリを追加しても効果がないように見えましたが、ドライバのメモリを増やして解決しました。これは、すべてのデータがドライバーに送信されて書き込まれるということですか? 各エグゼキュータは独自のパーティションを書き込むことはできませんか? Spark 2.0.1を使用しています