如果原始数据帧是持久的,是否持久过滤的数据帧

时间:2018-12-27 19:09:03

标签: apache-spark dataframe

我想知道这样做的正确方法是什么?如下面的代码所示,最好保留df_final和df_pred并取消保留features_df,或者正确的方法是仅保留features_df而不需要保留df_final和df_pred。

features_df.persist()

... some operations on features_df ... 

var df_final = features_df.filter(features_df("ifreal") ===1)
var df_pred = features_df.filter(features_df("ifreal") === 0)

df_final.persist()
df_pred.persist()
features_df.unpersist()

... more operations only on df_final & df_pred ... 

另一个问题是,“持久”将处理后的数据保留在内存(或当内存不足的磁盘中)中,因此将来可以直接使用处理后的数据。 我不确定的部分是,如果只是从文件读取数据,然后执行许多操作,该怎么办?像下面的代码一样,最好使用“ features_df.persist()”还是不必要的

val features_df = spark.read.parquet(inputFilePath)
features_df.persist()
... some operations on features_df ... 

0 个答案:

没有答案