1. 程式人生 > >顛覆大資料分析之類似Spark的系統

顛覆大資料分析之類似Spark的系統

顛覆大資料分析之類似Spark的系統

譯者:黃經業    購書

Nectar (Gunda 等2010),HaLoop (Bu 等2010),以及Twister(Ekanayake等2010)都是類似於Spark的系統。HaLoop是修改後的Hadoop,它增加了一個支援迴圈的任務排程器以及一定的快取機制。快取一方面是用於快取對映器的迴圈資料變數,另一方面是用於快取歸約器的輸出以便使得終止條件判斷可以更高效地進行。Twister提供了訂閱-釋出的設施來實現一個廣播的結構,同時它還能在歷次迭代間指定及快取靜態資料。Twister和HaLoop都是擴充套件MR正規化以支援迭代式運算的很有意思的實現。然而它們只能算是學術專案,並沒有提供穩定的實現版本。除此之外,Spark通過世系所提供的容錯性要比Twister和HaLoop所提供的要更先進和高效。另一個重要的不同在於Spark的程式設計模型更加通用,map和reduce只是它所支援的眾多結構中的一組而已。它還有許多更強大的結構,包括reduceByKey以及前面所提到的一些。

Nectar是一個面向資料中心管理的軟體系統,它把資料和計算都看作是一等實體(DryadLINQ中的函式[Yu等2008]),併為這些實體提供了分散式的快取機制。這使得在某些特定的情況下資料可以通過進行適當的運算來獲得,這樣就避免了頻繁使用資料的重複計算。Nectar與Spark的主要不同在於Nectar不允許使用者指定資料分割槽,也不允許使用者指定哪些資料應該持久化。這些Spark都能支援,因此它的功能也更為強大。