我在PySpark做到了这一点:使用Spark的RDD.combineByKey()是否保留先前排序的DataFrame的顺序?
- 创建一个
DataFrame
一个SELECT
声明获得通过资产的序列号,然后按时间排序的资产数据。 - 使用
DataFrame.map()
将DataFrame
转换为RDD
。 - 使用
RDD.combineByKey()
来整理每个资产的所有数据,使用该资产的序列号作为关键字。
问:我可以肯定的是每项资产的数据仍然会在RDD
从最后一步产生的时间顺序进行排序?
时间顺序对我至关重要(我需要计算每个资产的数据移动时间窗口的统计数据)。当RDD.combineByKey()
将来自Spark群集中不同节点的数据组合为给定密钥时,是否保留该密钥数据中的任何顺序?或者,对于给定的密钥,来自不同节点的数据是否以特定顺序组合?