有以下技巧如何修剪 Apache Spark 数据帧沿袭,特别是对于迭代计算:
def getCachedDataFrame(df: DataFrame): DataFrame = {
val rdd = df.rdd.cache()
df.sqlContext.createDataFrame(rdd, df.schema)
}
它看起来像是某种纯粹的魔法,但现在我想知道为什么我们需要cache()
在 RDD 上调用方法?在此沿袭修剪逻辑中具有缓存的目的是什么?
有以下技巧如何修剪 Apache Spark 数据帧沿袭,特别是对于迭代计算:
def getCachedDataFrame(df: DataFrame): DataFrame = {
val rdd = df.rdd.cache()
df.sqlContext.createDataFrame(rdd, df.schema)
}
它看起来像是某种纯粹的魔法,但现在我想知道为什么我们需要cache()
在 RDD 上调用方法?在此沿袭修剪逻辑中具有缓存的目的是什么?