2017-10-17 8 views

答えて

1

基本的に、ローカルのファイルシステムファイルに書き込むためにsparkのネイティブAPI(例:df.write.parquet)を使用することはできません。スパークローカルモード(クラスタではなく自分のコンピュータ上)で実行しているときは、ローカルファイルシステムから読み書きします。しかし、クラスタ設定(スタンドアロン/ YARN/etc)では、パーティションは[一般的に]別々のノードに格納されているため、HDFSへの書き込みは唯一の論理的なアプローチです。 HDFSへの書き込み

は本質的に2つの問題の少なくとも1伴うだろうローカルファイルシステムへの書き込みに対し、配布されます。

1)ノードローカルファイルシステムへの書き込みは1つのノード上のすべての異なるノード上のファイル(5つのファイルを意味します、ドライバーのファイルシステムに別の7つのファイルなど)

2)書き込みは、あなたが伝統的なI/Oを使用してドライバローカルファイルシステムに書き込むことができますcollect

を実行しているに似ドライバーにすべてのexecutorの結果を送信する必要になりますPythonやScalaのような言語に組み込まれた操作

関連のSO:

How to write to CSV in Spark

Save a spark RDD to the local file system using Java

Spark (Scala) Writing (and reading) to local file system from driver

関連する問題