gpt4 book ai didi

apache-spark - Spark : PartitionBy, 更改输出文件名

转载 作者:行者123 更新时间:2023-12-04 13:46:47 25 4
gpt4 key购买 nike

目前,当我使用 paritionBy()写入 HDFS:

DF.write.partitionBy("id")
我会得到看起来像的输出结构(这是默认行为):
../id=1/

../id=2/

../id=3/
我想要一个看起来像这样的结构:
../a/

../b/

../c/
使得:
if id = 1, then a
if id = 2, then b

.. etc
有没有办法更改文件名输出?如果不是,那么最好的方法是什么?

最佳答案

您将无法使用 Spark 的 partitionBy为达到这个。

相反,你必须打破你的 DataFrame放入其组件分区,并一一保存,如下所示:

base = ord('a') - 1
for id in range(1, 4):
DF.filter(DF['id'] == id).write.save("..." + chr(base + id))
}

或者,您可以使用 Spark 的 partitionBy 编写整个数据帧工具,然后使用 HDFS API 手动重命名分区。

关于apache-spark - Spark : PartitionBy, 更改输出文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45154696/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com