用于覆盖的Spark Dataframe性能

时间:2018-01-26 02:47:22

标签: pyspark spark-dataframe

以下两个pyspark声明之间是否存在性能差异或考虑因素:

df5 = df5.drop("Ratings")

df6 = df5.drop("Ratings)

不是专门针对drop函数,而是任何操作。想知道当你覆盖一个变量而不是创建一个新变量时会发生什么。

此外,如果这是RDD而不是数据帧,行为和性能考虑是否相同?

1 个答案:

答案 0 :(得分:1)

不,操作没有任何区别。

在Numpy的情况下,有一个标记选项,显示它自己的数据是否。

variable_name.flag

对于Pyspark,Dataframe是不可变的,并且数据框中的每个更改都会创建一个新的Dataframe。它是怎么做的?好吧,Dataframe以分布式方式存储。所以,要在内存成本中移动数据。因此,它们将数据的所有权从Dataframe更改为另一个,尤其是在存储数据索引的位置。

和 Dataframe比RDD更好。这是一个很好的博客。 Dataframe RDD and dataset