0
に各パーティションの内容をダンプし、私は次のようになり、そのデータフレームDF1にいくつかのデータをロードするために、スパーク1.6.2 Java APIを使用しています:特定の列に基づいてパーティションスパークDATAFRAMEおよびCSV
Key Value
A v1
A v2
B v3
A v4
これで、 "Key"列の値のサブセットに基づいてDF1を分割し、各パーティションをcsvファイルに(spark-csvを使用して)ダンプする必要があります。
所望の出力:
A.csv
Key Value
A v1
A v2
A v4
B.csv
Key Value
B v3
瞬間に私がやっていることのサブセットを含むHashMapの(はmyList)を構築しています私はフィルタリングする必要があるし、各反復ごとに別のKeyをフィルタリングして反復する必要があります。あなただけのファイルを分割なる、partitionBy
を追加する必要があり、あなたがほとんど存在し
DF1 = <some operations>.cache();
for (Object filterKey: myList.keySet()) {
DF2 = DF1.filter((String)myList.get(filterKey));
DF2.write().format.format("com.databricks.spark.csv")
.option("header", "true")
.save("/" + filterKey + ".csv");
}