【发布时间】:2020-01-07 03:59:34
【问题描述】:
我有一个包含 2 列的 DataFrame。第 1 列是“代码”,可以重复超过 1 次,第 2 列是“值”。例如,第 1 列是 1,1,1,5,5,第 2 列是 15,18,24,38,41。我想做的是首先按两列( df.sort("code","Values") ) 排序,然后执行("groupBy" "Code") 和(agg 值),但我想在值上应用UDF,所以我需要传递每个代码的“值”作为UDF 的“列表”。我不确定每个代码会有多少“值”。正如您在此示例中看到的那样,“代码”1 有 3 个值,而“代码”5 有 2 个值。因此,对于每个“代码”,我需要将该“代码”的所有“值”作为列表传递给UDF。
【问题讨论】:
-
如果可能,强烈建议不要使用 udf。在某些情况下,它们可以大大减慢计算时间。这就是为什么我总是会尝试继续使用本机 spark 实现。如果您告诉我们您的 UDF 是做什么的,我们或许可以帮助您找到一种方法。
-
如果发现有帮助,请点赞以下答案。
标签: list pyspark user-defined-functions