spark:可以在输出文件中包含分区列吗?

qij5mzcb  于 2021-07-14  发布在  Spark
关注(0)|答案(1)|浏览(336)

我使用spark将数据写入分区。给定一个包含两列的数据集 (foo, bar) ,如果我这样做的话 df.write.mode("overwrite").format("csv").partitionBy("foo").save("/tmp/output") ,我得到

/tmp/output/foo=1/X.csv
/tmp/output/foo=2/Y.csv
...

但是,输出csv文件仅包含 bar ,不是 foo . 我知道 foo 已在目录名中捕获 foo=N ,但是否也可以包括 foo 在csv文件中?

hiz5n14c

hiz5n14c1#

仅当您以不同的名称制作副本时:

(df
    .withColumn("foo_", col("foo"))
    .write.mode("overwrite")
    .format("csv").partitionBy("foo_").save("/tmp/output"))

相关问题