web-dev-qa-db-ja.com

ScalaでDataFrameをcsvにエクスポートする方法は?

Scalaを使用してSparkのDataFrameをcsvファイルにエクスポートするにはどうすればよいですか?

9
Tong

これを行う最も簡単で最良の方法は spark-csv ライブラリ。提供されているリンクでドキュメントを確認できます here は、scala DataFrameとの間でデータをロードおよび保存する方法の例です。

コード(Spark 1.4 +):

dataFrame.write.format("com.databricks.spark.csv").save("myFile.csv")

編集:

Sparkはcsvデータの保存中にパーツファイルを作成します。パーツファイルを単一のcsvにマージする場合は、以下を参照してください。

Merge SparkのCSV出力フォルダーを単一ファイルに

12

Spark verions 2 +では、以下を使用するだけです。

_df.write.csv("/your/location/data.csv")
_

ファイルがパーティション分割されていないことを確認するには、次のように.coalesce(1)を追加します。

_df.coalesce(1).write.csv("/your/location/data.csv")
_
8
Taylrl

上記のソリューションでは、csvを複数のパーティションとしてエクスポートします。 coalesceを使用すると、データフレームを1つの単一のCSVファイルにエクスポートする zero32 によって別の解決策が見つかりました stackoverflowページ

df.coalesce(1)
  .write.format("com.databricks.spark.csv")
  .option("header", "true")
  .save("/your/location/mydata")

これにより、mydataという名前のディレクトリが作成され、そこに結果を含むcsvファイルが見つかります。

7
Abu Shoeb