4
任何人都可以解釋一下Spark中的細粒度轉換與粗粒度轉換之間的區別嗎?我正在閱讀有關RDD(https://www.cs.berkeley.edu/~matei/papers/2012/nsdi_spark.pdf)的論文,並且不太清楚獲得轉換如何以有效方式提供容錯功能。精細粒度轉換與粗粒度轉換
任何人都可以解釋一下Spark中的細粒度轉換與粗粒度轉換之間的區別嗎?我正在閱讀有關RDD(https://www.cs.berkeley.edu/~matei/papers/2012/nsdi_spark.pdf)的論文,並且不太清楚獲得轉換如何以有效方式提供容錯功能。精細粒度轉換與粗粒度轉換
細粒度更新將是數據庫中一條記錄的更新,而粗粒度通常是函數運算符(如spark中使用的),例如map,reduce,flatMap,join。 Spark的模型利用了這一點,因爲一旦它保存了小DAG的操作(與正在處理的數據相比較小),只要原始數據仍然存在,它就可以使用它重新計算。由於細粒度的更新不能重新計算,因爲保存更新的成本可能與保存數據本身的成本相當,基本上,如果將每條記錄分別更新爲數十億分鐘,則必須保存信息以計算每個更新,而使用粗粒度可以節省一項功能可以更新十億條記錄。很顯然,這是以不像細粒度模型那樣靈活爲代價的。
感謝您的回答。它有幫助。我可以用什麼不同的方式讓火花變成細粒度的模型?基本上我想構建一個DAG,在單元級而不是表級別上工作。一旦一個單元格被更新,我想基於DAG在多個表格中觸發其他單元格級別的更新。讓我知道你是否有投入。 – 2016-05-02 04:42:16