Spark:你能在输出文件中包含分区列吗?
Spark: can you include partition columns in output files?
我正在使用 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
中捕获,但是是否可以在 CSV 文件中也包含 foo
的值?
仅当您以不同名称制作副本时:
(df
.withColumn("foo_", col("foo"))
.write.mode("overwrite")
.format("csv").partitionBy("foo_").save("/tmp/output"))
我正在使用 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
中捕获,但是是否可以在 CSV 文件中也包含 foo
的值?
仅当您以不同名称制作副本时:
(df
.withColumn("foo_", col("foo"))
.write.mode("overwrite")
.format("csv").partitionBy("foo_").save("/tmp/output"))