我在PySpark做到了這一點:使用Spark的RDD.combineByKey()是否保留先前排序的DataFrame的順序?
- 創建一個
DataFrame
一個SELECT
聲明獲得通過資產的序列號,然後按時間排序的資產數據。 - 使用
DataFrame.map()
將DataFrame
轉換爲RDD
。 - 使用
RDD.combineByKey()
來整理每個資產的所有數據,使用該資產的序列號作爲關鍵字。
問:我可以肯定的是每項資產的數據仍然會在RDD
從最後一步產生的時間順序進行排序?
時間順序對我至關重要(我需要計算每個資產的數據移動時間窗口的統計數據)。當RDD.combineByKey()
將來自Spark羣集中不同節點的數據組合爲給定密鑰時,是否保留該密鑰數據中的任何順序?或者,對於給定的密鑰,來自不同節點的數據是否以特定順序組合?