caching - Spark 缓存是否会以任何时间间隔自动更新数据的新值?

标签 caching cassandra pyspark

我正在使用 pyspark 和 cassandra,并使用 cache() 函数缓存数据。 我想知道每次在 cassandra 中更新数据时缓存是否自动更新?

最佳答案

RDD 是不可变的,所以一旦创建了 RDD,它的内容就不能改变。如果 RDD 是从 Cassandra 表创建的,则 RDD 是创建 RDD 时 Cassandra 中数据的快照主机。

当您告诉 spark 缓存一个 RDD 时,您是在告诉 spark 重用该 RDD 的内容,而不是在您下次在 spark 操作中使用它时创建一个新的 RDD。

如果您希望每次使用 Cassandra 时都从 Cassandra 中刷新 RDD 中的数据,那么您就不会想要缓存它。或者,当您想要刷新来自 Cassandra 的数据时,您可以使用 spark unpersist() 函数。这会导致spark在下次使用时重新读取所有的Cassandra数据到一个新的RDD中。

因此它不会只读取自您上次读取后更改的行,而是读取所有行。如果表很大,这将大大降低性能,但您可以获得最新的数据。

关于caching - Spark 缓存是否会以任何时间间隔自动更新数据的新值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32134425/

相关文章:

java - Datastax java 驱动程序 4.0 以编程方式配置

python - PySpark 数据帧管道抛出 No plan for MetastoreRelation 错误

Magento 2 在 Js 和 CSS 中的变化

java - Datastax cassandra 对象映射器设置一致性,如果不存在

css - 乔姆拉! CSS缓存不删除或刷新

cassandra - 获取 Cassandra 中 Set type 列中元素的数量

string - PySpark:如何计算字符串之间的空格数?

apache-spark - PySpark withColumn & withField 类型错误 : 'Column' object is not callable

c中矩阵转置的缓存利用率

android - react native LruCache : Does it cache images from image urls