【編者按】Linkedin周二宣布開源其大數據計算引擎Cubert,其名字來源于魯比克方塊(Rubik’s Cube),為了讓開發人員更容易使用Cubert,而無需做任何形式的自定義編碼,Linkedin為此開發了新的編程語言Cubert Script。
以下為譯文:
Linkedin周二宣布開源其大數據計算引擎Cubert,這個框架可以使用一種專門的算法來組織數據,讓其在沒有超系統負荷和浪費CPU資源的情況下,更輕松的運行查詢。
Cubert,其名字來源于魯比克方塊(Rubik’s Cube),據悉,它可以作為一個Java應用程序,從而很容易被工程師接受,它包含一個“類似script用戶界面”,因此工程師可以在運行查詢時,使用諸如MeshJoin 和 Cube算法在組織數據上節省系統資源。
從 LinkedIn博客我們知道:
現存引擎Apache Pig、Hive 以及Shark提供一個合乎邏輯的聲明性語言,然后被翻譯成一個實物計劃。這個計劃執行分布式引擎(Map-Reduce、Tez 或者Spark),在此物理操作者針對數據分區執行。最后,數據分區將由HDFS提供的文件系統抽象管理。
Cubert 架構
Cubert運行在Hadoop之上,新的框架可以抽象所有的存儲到數據塊,這將除了讓操作者能幫助更好的管理數據之外,還能讓其更易于運行它的資源節約算法,例如,COMBINE操作者可以合并多個數據塊在一起,PIVOT操作者可以創建數據塊的子集。
LinkedIn也創建了一門名為Cubert Script的新語言,其目的是使開發人員更容易使用Cubert,而無需做任何形式的自定義編碼。
LinkedIn現在使用Cubert作為一個關鍵組件來處理數據。當Kafka實時消息傳遞系統從LinkedIn的眾多應用程序中獲取所有信息并將其發送到Hadoop,Cubert然后處理這些數據,以確保它不占用系統資源并幫助工程師解決“各種各樣的統計、分析和圖形計算問題。”
被處理后,數據流向LinkedIn的Pinot實時數據分析系統,然后該公司分析其眾多數據跟蹤特性,如最近誰查看了用戶的資料。
LinkedIn Data Pipeline
現在Cubert已經和LinkedIn的基礎設施連接,公司不再擔心Hadoop腳本終結“在集群上占用太多資源”或浪費時間去做他們為此應該做的。