Spark SQLからCSVにデータをエクスポートする方法 質問する

Spark SQLからCSVにデータをエクスポートする方法 質問する

このコマンドは HiveQL で動作します:

insert overwrite directory '/data/home.csv' select * from testtable;

しかし、Spark SQL ではスタック トレースでエラーが発生しますorg.apache.spark.sql.hive.HiveQl

java.lang.RuntimeException: Unsupported language features in query:
    insert overwrite directory '/data/home.csv' select * from testtable

Spark SQL で CSV へのエクスポート機能を書く方法を教えてください。

ベストアンサー1

以下のステートメントを使用して、データフレームの内容をCSV形式で書き込むことができます。df.write.csv("/data/home/csv")

データフレーム全体を1つのCSVファイルに書き込む必要がある場合は、df.coalesce(1).write.csv("/data/home/sample.csv")

のためにスパーク1.x、使用できますスパークCSV結果をCSVファイルに書き込む

下にスカラスニペットが役立つだろう

import org.apache.spark.sql.hive.HiveContext
// sc - existing spark context
val sqlContext = new HiveContext(sc)
val df = sqlContext.sql("SELECT * FROM testtable")
df.write.format("com.databricks.spark.csv").save("/data/home/csv")

内容を1つのファイルに書き込む

import org.apache.spark.sql.hive.HiveContext
// sc - existing spark context
val sqlContext = new HiveContext(sc)
val df = sqlContext.sql("SELECT * FROM testtable")
df.coalesce(1).write.format("com.databricks.spark.csv").save("/data/home/sample.csv")

おすすめ記事