在rdd中分区数据并保存分区的块

时间:2018-11-19 12:26:30

标签: python apache-spark pyspark rdd

嗨,我关注rdd:

标题:

id |类别|日期|名称|年龄

rdd的内容

1|b|12-10-2015|David|20
2|c|12-10-2015|Moses|40
3|b|18-12-2016|Tom|30
4|c|18-12-2016|Bill|60

我想按类别和日期对数据进行分区,并按如下方式保存文件:

12102015_b

1|b|12-10-2015|David|20

12102015_c

2|c|12-10-2015|Moses|40

18122016_b

3|b|18-12-2016|Tom|30

18122016_c

4|c|18-12-2016|Bill|60

我可以为此得到任何建议吗?在此先感谢!

1 个答案:

答案 0 :(得分:2)

假设您在pyspark数据框df中拥有上述所有数据。

然后,您可以使用下面的语句根据日期和类别对数据进行分区(但是,您可以根据业务逻辑确定顺序。),然后以各种不同的格式保存dataFrame。但是,我在下面的示例中使用的是csv。

df.write.partitionBy("date", "category").csv("location_of_path")

您可以在此处找到csvparquetpartitionBy的参考。

希望这会有所帮助。

此致

Neeraj