docsからスパークのSQLデータフレームSpark:write.partitionByを呼び出すと、DataFrameWriterがパーティション列を削除しないようにする方法我々は法の下に使用している
public DataFrameWriter<T> partitionBy(scala.collection.Seq<String> colNames)
を保存するには:
パーティションのファイルシステム上の任意の列で出力。 が指定されている場合、出力はHiveの パーティション方式と同様にファイルシステム上に配置されます。私たちは 年でデータセットを分割して、月のときの例としては、ディレクトリのレイアウトは次のようになります。
- 年= 2016 /月= 01/
を - 年= 2016 /月= 02/
我々のコードは次のようになります。
df.repartition(new Column("day")).write.partitionBy("day").mode(SaveMode.Overwrite).parquet(outputPath)
我々は我々が期待してディレクトリレイアウトを取得し、私たちは、寄木細工のファイルは、もはやそれでday
列を持っていない見つけます。寄木細工のファイルには日の列が必要です。どうすればこのことができますか?