Pyspark DataFrame 循环

我是 Python 和 DataFrame 的新手。在这里,我正在编写 Python 代码以在 AWS Glue 中运行 ETL 作业。请在下面找到相同的代码片段。


test_DyF = glueContext.create_dynamic_frame.from_catalog(database="teststoragedb", table_name="testtestfile_csv")

test_dataframe = test_DyF.select_fields(['empid','name']).toDF()

现在上面的 test_dataframe 是类型pyspark.sql.dataframe.DataFrame


现在,我需要遍历上面的test_dataframe。据我所知,我只能看到collector toLocalIterator。请找到以下示例代码


for row_val in test_dataframe.collect():


但这两种方法都非常缓慢且效率不高。我不能使用 pandas,因为 AWS Glue 不支持它。


请找到我正在做的步骤


来源信息:


productid|matchval|similar product|similar product matchval

product A|100|product X|100

product A|101|product Y|101

product B|100|product X|100

product C|102|product Z|102

预期结果:


product |similar products

product A|product X, product Y

product B|product X

product C|product Z


摇曳的蔷薇
浏览 273回答 1
1回答

翻阅古今

这是我正在写的代码我正在使用 productID 获得源的不同数据框循环遍历这个不同的数据框集a) 从源中获取产品的 matchval 列表b) 基于matchval过滤器识别相似产品c) 循环获取连接的字符串 ---> 使用 rdd.collect 的循环影响性能您能否就可以做的事情分享任何更好的建议?
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python