Spark 研究
Apache Spark 最初是加州大學柏克萊分校 AMPLab 的一個研究專案,專注於大數據分析。
我們的目標是設計一個程式設計模型,支援比 MapReduce 更廣泛的應用程式類別,同時維持其自動容錯能力。特別是,MapReduce 對於需要在多個平行運算中進行低延遲資料共用的多重傳遞應用程式而言效率不彰。這些應用程式在分析中相當常見,包括
- 反覆運算,包括許多機器學習演算法和 PageRank 等圖形演算法。
- 互動式資料探勘,使用者希望將資料載入叢集中的 RAM 並重複查詢。
- 串流應用程式,隨著時間推移而維持聚集狀態。
傳統的 MapReduce 和 DAG 引擎不適合這些應用程式,因為它們基於非循環資料流程:應用程式必須作為一系列不同的工作執行,每個工作都會從穩定儲存裝置(例如分散式檔案系統)讀取資料,並將其寫回穩定儲存裝置。它們會在每個步驟載入資料和將其寫回複製儲存裝置時產生顯著成本。
Spark 提供一個稱為 彈性分散式資料集(RDD) 的抽象,以有效支援這些應用程式。RDD 可以儲存在查詢之間的記憶體中,無需複製。相反地,它們會在發生故障時使用譜系重建遺失的資料:每個 RDD 都會記住它是如何從其他資料集(透過轉換,例如 map
、join
或 groupBy
)建構而成的,以重建自身。RDD 讓 Spark 能在多重傳遞分析中將現有模型的效能提升至多 100 倍。我們展示了 RDD 可以支援各種反覆運算、互動式資料探勘和高效率的 SQL 引擎(Shark)。
您可以在以下論文中找到更多關於 Spark 背後研究的資訊
-
SparkR:使用 Spark 擴充 R 程式,Shivaram Venkataraman、Zongheng Yang、Davies Liu、Eric Liang、Hossein Falaki、Xiangrui Meng、Reynold Xin、Ali Ghodsi、Michael Franklin、Ion Stoica 和 Matei Zaharia。SIGMOD 2016。2016 年 6 月。
-
MLlib:Apache Spark 中的機器學習,Xiangrui Meng、Joseph Bradley、Burak Yavuz、Evan Sparks、Shivaram Venkataraman、Davies Liu、Jeremy Freeman、DB Tsai、Manish Amde、Sean Owen、Doris Xin、Reynold Xin、Michael J. Franklin、Reza Zadeh、Matei Zaharia 和 Ameet Talwalkar。機器學習研究期刊 (JMLR)。2016 年。
-
Spark SQL:Spark 中的關聯資料處理。Michael Armbrust、Reynold S. Xin、Cheng Lian、Yin Huai、Davies Liu、Joseph K. Bradley、Xiangrui Meng、Tomer Kaftan、Michael J. Franklin、Ali Ghodsi 和 Matei Zaharia。SIGMOD 2015。2015 年 6 月。
-
GraphX:統一資料平行和圖形平行分析。Reynold S. Xin、Daniel Crankshaw、Ankur Dave、Joseph E. Gonzalez、Michael J. Franklin 和 Ion Stoica。OSDI 2014。2014 年 10 月。
-
離散串流:大規模容錯串流運算。Matei Zaharia、Tathagata Das、Haoyuan Li、Timothy Hunter、Scott Shenker 和 Ion Stoica。SOSP 2013。2013 年 11 月。
-
Shark:大規模的 SQL 和豐富分析。Reynold S. Xin、Joshua Rosen、Matei Zaharia、Michael J. Franklin、Scott Shenker 和 Ion Stoica。SIGMOD 2013。2013 年 6 月。
-
離散串流:在大型叢集上進行串流處理的高效且容錯模型。Matei Zaharia、Tathagata Das、Haoyuan Li、Scott Shenker 和 Ion Stoica。HotCloud 2012。2012 年 6 月。
-
Shark:使用粗粒度分散式記憶進行快速資料分析(示範)。Cliff Engle、Antonio Lupher、Reynold S. Xin、Matei Zaharia、Haoyuan Li、Scott Shenker 和 Ion Stoica。SIGMOD 2012。2012 年 5 月。最佳示範獎。
-
彈性分散式資料集:記憶體中叢集運算的容錯抽象。Matei Zaharia、Mosharaf Chowdhury、Tathagata Das、Ankur Dave、Justin Ma、Murphy McCauley、Michael J. Franklin、Scott Shenker 和 Ion Stoica。NSDI 2012。2012 年 4 月。最佳論文獎。
-
Spark:使用工作集進行叢集運算。Matei Zaharia、Mosharaf Chowdhury、Michael J. Franklin、Scott Shenker 和 Ion Stoica。HotCloud 2010。2010 年 6 月。