【发布时间】:2021-11-21 10:27:32
【问题描述】:
我有一个包含至少 50 万条记录的大型数据框,我需要将每个字符串转换为自定义对象(应该以对象列表结尾) collect() 不能接受,因为数据框太大。
遍历数据框中的所有行时出现问题,起初我尝试这样做(导致映射,映射到对象列表):
result_list = map(Lambda row: row, test_df.collect())
但是collect()结果是不能接受的,因为dataframe太大了。
您能否告诉我还有哪些其他选项可以遍历数据框中的每一行?
【问题讨论】:
-
您是否尝试过创建 UDF?
-
@VladSiv 不,我可能有一个误解,但我不知道如何用 udf 解决这个问题,是否可以编写有助于将数据帧转换为列表或映射的 udf? (即使我在数据框本身中进行所有行转换,仍然存在将其放入程序输出所需的对象列表中的问题)
-
哦,好吧,我误解了这个问题。我认为您可以只使用数据框。