【问题标题】:Spark: can you include partition columns in output files?Spark:你能在输出文件中包含分区列吗?
【发布时间】:2018-06-19 18:45:54
【问题描述】:

我正在使用 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 的值?

【问题讨论】:

    标签: apache-spark hadoop-partitioning


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2010-10-02
      • 1970-01-01
      • 2016-10-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-09
      相关资源
      最近更新 更多