PySpark - 按客户ID自定义分区

时间:2018-04-19 13:49:37

标签: apache-spark pyspark hadoop-partitioning

我有一个庞大的数据框(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万客户。

0 个答案:

没有答案