缓存值 - Spark
Cache values - Spark
中间变量不是自动缓存的吗?
喜欢:
df = spark.read.csv('file.csv') ## df 没有被缓存
df_two = df.select('column1') ## df_two 自动缓存
Spark 是延迟评估的,只有在对该数据集执行操作时才会缓存它们。您可以通过指定 dataset.cache() 或 dataset.persist() 来显式缓存一个值。显式指定它的优点是您可以控制它的缓存方式,无论是 DISK_ONLY/MEMORY_ONLY 还是 MEMORY_AND_DISK 的组合。
https://jaceklaskowski.gitbooks.io/mastering-apache-spark/spark-rdd-caching.html
df 和 df_two 未根据您提供的代码进行缓存。它们仅在对它们执行操作时才会被缓存,因此如果您执行了 df_two.collect(),它将缓存 df 和 df_two 并仅在 df_two.collect() 时将结果序列化回驱动程序叫做。
中间变量不是自动缓存的吗?
喜欢:
df = spark.read.csv('file.csv') ## df 没有被缓存
df_two = df.select('column1') ## df_two 自动缓存
Spark 是延迟评估的,只有在对该数据集执行操作时才会缓存它们。您可以通过指定 dataset.cache() 或 dataset.persist() 来显式缓存一个值。显式指定它的优点是您可以控制它的缓存方式,无论是 DISK_ONLY/MEMORY_ONLY 还是 MEMORY_AND_DISK 的组合。
https://jaceklaskowski.gitbooks.io/mastering-apache-spark/spark-rdd-caching.html
df 和 df_two 未根据您提供的代码进行缓存。它们仅在对它们执行操作时才会被缓存,因此如果您执行了 df_two.collect(),它将缓存 df 和 df_two 并仅在 df_two.collect() 时将结果序列化回驱动程序叫做。