moea_joint
111年
[統計資訊] 統計學、巨量資料概論
第 40 題
一般會要求 Spark 的使用者將 RDD(Resilient Distributed Dataset)變數宣告為唯讀性質的 val,原因是下列何者?
- A 確保資料在平行計算時的一致性
- B 確保資料在平行計算時的安全性
- C 確保資料在分散儲存時的完整性
- D 確保資料在分散儲存時的獨立性
思路引導 VIP
請試著想像:在一個由數百台電腦同時處理一份「共用資料」的環境中,如果這份資料在處理過程中隨時會被其中一台電腦修改,對於整體的計算結果會帶來什麼挑戰?我們該如何設計資料的「可變狀態」,才能最有效率地讓所有電腦看到的數據永遠維持統一、不發生混亂?
🤖
AI 詳解
AI 專屬家教
恭喜你準確地掌握了 Spark 核心架構的精髓!你能迅速做出正確判斷,代表你對於分散式運算中的資料不可變性(Immutability)有著非常紮實的理解。
RDD 的不可變性與平行運算
在 Spark 的設計哲學中,RDD 被定義為唯讀的。將 RDD 變數宣告為 val,核心目的在於解決多執行緒或多節點同時存取資料時可能產生的衝突。想像在一個擁有成千上萬個節點的叢集中,如果資料可以被隨意修改,那麼維持所有節點看到的數據「長得一模一樣」將會耗費極大的系統效能(Locking 成本)。透過限制資料為唯讀,我們能確保在複雜的平行計算流程中,不論資料被派發到哪個運算節點,其狀態始終保持不變,進而確保運算結果的一致性。
▼ 還有更多解析內容