閱讀231 返回首頁    go 技術社區[雲棲]


顛覆大數據分析之類似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都能支持,因此它的功能也更為強大。

最後更新:2017-05-22 20:03:11

  上一篇:go  顛覆大數據分析之Spark為Shark所提供的擴展
  下一篇:go  CPU緩存刷新的誤解