Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Pyspark:需要了解Pyspark中缓存的行为_Python_Apache Spark_Pyspark - Fatal编程技术网

Python Pyspark:需要了解Pyspark中缓存的行为

Python Pyspark:需要了解Pyspark中缓存的行为,python,apache-spark,pyspark,Python,Apache Spark,Pyspark,我想了解pyspark df.cache()与df=df.cache()有什么不同吗 是否绝对有必要在程序执行结束时取消持久化缓存的数据帧,我了解spark基于(最近使用最少的机制)清除它,如果我不取消持久化数据帧,会有什么负面影响,我可以考虑内存不足问题,但需要输入 当我使用df=df.cache()时,程序的重新执行是否可能使用旧的缓存数据,而不是重新计算和覆盖缓存的数据帧 不需要在最后取消持久性。停止spark将清除缓存的数据帧。 您不能从一个火花执行持续到另一个火花执行。如果您想从

我想了解
pyspark

  • df.cache()
    df=df.cache()
    有什么不同吗

  • 是否绝对有必要在程序执行结束时取消持久化缓存的数据帧,我了解spark基于(最近使用最少的机制)清除它,如果我不取消持久化数据帧,会有什么负面影响,我可以考虑内存不足问题,但需要输入

  • 当我使用
    df=df.cache()
    时,程序的重新执行是否可能使用旧的缓存数据,而不是重新计算和覆盖缓存的数据帧


  • 不需要在最后取消持久性。停止spark将清除缓存的数据帧。
    您不能从一个火花执行持续到另一个火花执行。如果您想从一个火花“持续”到另一个火花,唯一的解决方案是物理保存数据(写入),并在下次执行时再次读取数据。

    这是否回答了您的问题?非常感谢@Steven,它澄清了我的大部分概念,请你也解释一下第2点,我对unpersist的用法有点困惑。我已经缓存了一些数据帧,如果我在程序执行结束时不撤销它们,然后重新运行程序,旧的缓存数据帧会被覆盖并存储在相同的内存空间中,还是会占用新的内存空间(考虑到它不是基于推出的LRU)。有没有可能spark在重新执行程序时根本不计算数据帧,因为它已经可以在缓存内存中找到它。