我正在使用dataframes / pyspark进行处理。我的数据框包含几列和一个主键列,比如TXN_ID。这是我的伪代码 -
- 从数据帧中已处理的数据中读取TXN_ID并调用cache(),因为我们将在进一步处理中使用它。我们将此数据框称为 observer_txn_ids
- 从新的传入原始数据文件构建数据框并过滤过去已经处理过的TXN_ID(我们在步骤1中有这些ID,observer_txn_ids)
- 保存数据框并使用当前处理文件中观察到的新ID更新observer_txn_ids
- 处理下一个文件,即重复步骤2和3
醇>
在此工作流程中,我在循环中更新observer_txn_ids数据框,每次更新时都会创建一个新的RDD /数据框,因此cache()没有多大帮助。我该如何优化此代码?或者这个问题的有效方法是什么?
P.S observer_txn_ids可以增长到几百万个值。