私はsparkで大きなデータを処理し、HDFSに保存しました。sparkでsaveAsTextFileメソッドのパフォーマンスを向上させる方法はありますか
しかし、私はsaveAsTextFileメソッドがやや遅いと感じています。
パフォーマンスを向上させる方法があるのだろうかと思います。
(予想よりも遅い実行されている)私の元のコード
val data = sc.textFile("data", 200);
data.
flatMap(_.split(" ")).
map(word => (word, 1)).
reduceByKey(_ + _).
saveAsTextFile("output")
は私が合体を追加し(1)、速度が劇的に
val data = sc.textFile("data", 200);
data.
flatMap(_.split(" ")).
map(word => (word, 1)).
reduceByKey(_ + _).
coalesce(1).
saveAsTextFile("output")
私はあなたの仕事のsparkマスターページをチェックすることをお勧めします、それは仕事のさまざまな部分のタイミングについて多くの詳細があります。おそらく、hdfsに書き込んでいるファイルとサイズの数もチェックしたいと思うでしょう。例えば、たくさんの小さなファイルを書くかもしれません。 – jeff
お返事ありがとう! もう一度質問に回答できますか?あなたが気にしないのなら。 'sc.textFile()'を使ってテキストファイルをロードするとき、私はこのメソッドのパーティショニングパラメータを200に設定します。これは "あなたがたくさんの小さなファイルを書いているかもしれません"という意味ですか? –
plsはあなたが試したコードを追加します。 – mrsrinivas