我有一个庞大的数据框(40亿条记录),每条记录都与一个客户ID相关联。我需要构建一个自定义分区,以便我可以通过ID
对数据进行分区,然后应用映射函数来提高效率。
例如,
a = [
(1113,'Bob', 562),
(1113,'Bob',880),
(1113,'Bob',380),
(2454,'Sue',85),
(2454,'Sue',963)
]
df = spark.createDataFrame(a, ["ID","Person", "Amount"])
我尝试了一个组,然后在每个组上应用UDF,但是,我遇到严重的性能问题和内存不足错误。由于数据中似乎有1400万客户。