首页 > 解决方案 > 使用 PySpark 将包含 200 万条记录的行转换为列

问题描述

输入数据框

R_ID C_ID 价值
1 1 全部
1 2 BALANCE_13_24_SWITCH
1 3 是的
2 1 全部
2 2 MATCHING_IC_SWITCH
2 3 是的

输出数据框

? ?
全部 BALANCE_13_24_SWITCH
全部 MATCHING_IC_SWITCH

我想从输入文件中获取 200 万条记录,并使用 PySpark 中的数据透视将行转换为列。我已经编写了如下代码。但只有输入文件行数小于 10000 时才有效,超过 200 万条记录时无效。是否有任何有效的方法可以对大容量数据执行相同的逻辑?

df = df.groupBy(col("R_ID")).pivot("C_ID").agg(coalesce(first(col("VALUE")))) 

标签: pythonpandaspyspark

解决方案


推荐阅读