我是 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 matchvalproduct A|100|product X|100product A|101|product Y|101product B|100|product X|100product C|102|product Z|102预期结果:product |similar productsproduct A|product X, product Yproduct B|product Xproduct C|product Z
1 回答

翻阅古今
TA贡献1780条经验 获得超5个赞
这是我正在写的代码
我正在使用 productID 获得源的不同数据框
循环遍历这个不同的数据框集
a) 从源中获取产品的 matchval 列表
b) 基于matchval过滤器识别相似产品
c) 循环获取连接的字符串 ---> 使用 rdd.collect 的循环影响性能
您能否就可以做的事情分享任何更好的建议?
添加回答
举报
0/150
提交
取消