LinkedIn開源Cubert,著眼於大資料分析

edithfang發表於2014-12-24
Cubert是為分析師和資料科學家編寫的一個框架,提供“手動編寫 Java 程式的所有效率優勢,並提供了一個簡單的、類似指令碼的使用者介面,用於解決各種統計、分析和圖論問題”。其目標是,做上述所有工作而又不暴露底層細節。

Cubert 圍繞著實現更好的資料處理演算法需求而設計。當效能是一個辨別因素時,Cubert 可以提供幫助,正如 LinkedIn 工程師所聲稱的那樣,即使從磁碟置換出數十 TB 大小的資料,其效能也可以超出其它引擎 5 到 60 倍。

Cubert 完全用 Java 開發,並提供一種指令碼語言。它是針對報表領域裡經常出現的複雜連線和聚合而設計的。Cubert 使用 MeshJoin 演算法處理大時間視窗下的大資料集,CPU 和記憶體利用率顯著提升。CUBE 是 Cubert 定義的一個新操作符,可以計算累加和非累加分析維度。非累加維度是計算密集型的,如計算一個時間視窗內不同的使用者數,但 CUBE 能加快這些運算,而且還可以計算準確的百分等級,如中位數統計,動態上卷內部維度以及在單個任務中計算多個度量值。

Cubert 最適合於重複的報表工作流程,它利用部分結果快取和增量處理技術來提高速度。最後,一種新的稀疏矩陣乘法演算法可以用於大型圖的分析計算。

Pig UDF 支援已經實現,團隊計劃支援 UDF 以及來自 Pig 和 Hive 的儲存層。Cubert 目前執行在 MR 引擎上,不過,對 Tez 和 Spark 的支援正在進行中。Cubert 的文件和程式碼在 GitHub 上提供。

英文原文: LinkedIn Open Sources Cubert With an Eye To Big Data Analytics
相關閱讀
評論(1)

相關文章