在循环中更新RDD

时间:2017-07-13 04:20:54

标签: apache-spark pyspark spark-dataframe pyspark-sql

我正在使用dataframes / pyspark进行处理。我的数据框包含几列和一个主键列,比如TXN_ID。这是我的伪代码 -

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

    P.S observer_txn_ids可以增长到几百万个值。

0 个答案:

没有答案