以下两个 pyspark 语句之间是否有任何性能差异或注意事项:
df5 = df5.drop("Ratings")
和
df6 = df5.drop("Ratings)
不是专门针对下降功能,而是针对任何操作。 想知道与创建新变量相比,覆盖变量时会发生什么。
此外,如果这是RDD而不是数据帧,则行为和性能注意事项是否相同?
不,操作不会有任何区别。
在 Numpy 的情况下,有一个标志选项,显示它是否拥有数据。
variable_name.flag
对于 Pyspark,数据帧是不可变的,数据帧中的每个更改都会创建一个新的数据帧。它是如何做到的?好吧,数据帧以分布式方式存储。因此,在内存中移动数据需要付出代价。因此,它们将数据的所有权从一个数据帧更改为另一个数据帧,特别是存储数据索引的位置。
和数据帧比RDD好得多。这是一个很好的博客。数据帧 RDD 和数据集