我有一个pyspark数据框,我通过hive数据存储区的spark sql查询加载。我知道只有当我在数据帧上调用类似show()的操作时才会执行查询。
如果我多次调用数据帧上的操作,是否会重新执行查询,还是可以缓存它?
当您调用某个动作时,所有转换都会根据其谱系(重新)执行。因此,如果要提高性能,则必须调用persist() or cache()。在持续调用之后,后续操作不必重做其整个谱系,而是它的起始点将来自持久化的RDD
persist() or cache()