我们想将一个spark程序中的数据写入代表我们分区的目录中的s3。
示例:VisitFact DataFrame应该写入s3,分区是日期,小时,网站,让我们说具体的Df只有一天(dt = 2017-07-01),一小时(hh) = 02)和2个站点(10,11) 所以目录是:
我们需要检查数据框并将其拆分为多个df(在这种情况下为两个)
我希望这是通用的,因此定义分区的字段列表可以更改并且是N个元素
火花本身支持这个吗?什么是实现这一目标的有效方法 谢谢 Nir
答案 0 :(得分:3)
是spark支持分区
你可以使用这样的东西
df.write.partitionBy("columns for partitioning").parquet("path to the top dir")
答案 1 :(得分:1)
同意Nir go with partition选择Hash Partitioning或 范围分区
https://spark.apache.org/docs/latest/sql-programming-guide.html#bucketing-sorting-and-partitioning