apache-spark - Spark : can you include partition columns in output files?

标签 apache-spark hadoop-partitioning

我正在使用 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 文件中?

最佳答案

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

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

关于apache-spark - Spark : can you include partition columns in output files?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48190107/

相关文章:

sql - 使用 Spark DataFrame 获取一组后所有组的 TopN

java - Apache Spark Lambda 表达式 - 序列化问题

python - Spark MapPartitionRDD 无法打印值

java - 根据 Spark 中的值列表过滤 rdd

json - 使用动态模式 Spark from_json

hadoop - 我必须实现hadoop,这样它才能处理调用详细记录的数据?

python - Hadoop 中 Map 函数的输入拆分

hadoop - TotalOrderPartitioner 给出错误的键类错误

java - 如何使用Java Hadoop MapReduce以降序对数据集中的列进行排序?

hadoop - 从节点在hadoop中可以有多个相同文件的 block 吗?