6g下載網
當前位置: 主頁 > 軟件教程 > 云計算 >

Apache Kylin在網易公司如何應用大數據

時間: 2016-01-12 15:07 來源: 本站整理

分享到:

Kylin服務化

在網易,Apache Kylin作為大數據平臺的OLAP查詢模塊,可以為公司的各種分析類需求以及應用提供服務。所有數據存在Hadoop Hive 上的數據都能夠通過Kylin OLAP 引擎進行加速查詢。在公司內部Kylin作為一個統一平臺,與各產品的數據倉庫進行接駁。

目前Kylin的部署架構如下:

Apache Kylin在網易公司如何應用大數據

Kylin集群由多個查詢節點以及控制節點組成。 控制節點唯一,負責集群項目、任務調度與Cube增刪查改。 多個查詢節點前用Nginx做負載均衡,后段節點可按需水平擴容。前端可同時支持JDBC與ODBC的客戶端查詢。

Kylin性能表現

在Kylin上線前,我們選取了公司內部原有的一些報表業務進行過性能對比,對比內容在相同的數據下、Kylin查詢與Mondrian 結合Oracle的查詢比較。

測試結果通過數據量較大的DataStream報表來進行比較:

Apache Kylin在網易公司如何應用大數據

再看Kylin的吞吐量,利用Haproxy進行請求轉發后隨著Kylin服務器的增加吞吐量的表現:

Apache Kylin在網易公司如何應用大數據

網易對Kylin的改進

原生的社區版Aapche Kylin 是需要部署在一個統一底層的Hadoop、Hive、HBase集群之上的。而網易內部的大數據平臺由于各種原因,分為了多個Hadoop集群、各應用會在不同的Hadoop集群上建立Hive數據倉庫。最原始而自然的想法就是在每一個Hadoop環境上部署一套Kylin服務來滿足不同的需求,但是集群資源管理、計算資源調度、管理運維的復雜性都會是一個比較突出的問題。例如用戶數據在A機房的Hive上,而A機房的Hadoop集群并沒有足夠的計算資源來保證KylinOLAP的高效運行。因此根據公司內部實際的大數據平臺分布情況及機房建設情況,將Kylin打造成一個公司內統一的服務平臺是一個更好的選擇。OLAP小組對開源版本的Kylin進行了二次開發,并將改進補丁提交給了社區并受到了積極反饋。

目前的改進主要包括:

Kylin對Kerberos認證的支持

Kylin非Hadoop節點的部署支持

多數據源的支持

在公司內,由于性能以及安全性方面的考量,不同部門的應用會搭建各自的Hive進行數據分析,并且由于公司內還沒有跨機房的Hadoop集群,因此會出現用戶數據在A地方的Hive上,而A機房的Hadoop集群并沒有足夠的計算資源來保證KylinOLAP的高效運行。

綜合分析現實的場景之后,我們選擇了公司內最大的hadoop集群作為KylinOLAP的計算引擎集群,保證有充足的存儲以及計算資源。 HBase采用一個獨立的集群,避免Hbase查詢和Hadoop集群任務之間的互相干擾。數據源Hive允許用戶自定義,目前已支持同Hadoop集群下不同Hive 以及不同Hadoop集群下的不同Hive節點使用KylinOLAP服務。根據用戶數據倉庫的實際配置情況可能會出現跨集群的數據源抽取計算,由于公司同城機房有專線網絡,數據倉庫Hive里的源數據量也遠小于Kylin實際的聚合后的數據存儲(存于Hbase,數據量大小一般為數據源Hive中的10倍以上),因此可認為這樣的開銷可以認為帶來的影響不大,并且在我們的測試中得到了印證。

Kylin OLAP與猛犸以及有數的結合

猛犸是網易內部的統一大數據入口平臺,為了讓Kylin更快更好的融入到大平臺中,OLAP小組已計劃在不久之后全面與猛犸大數據平臺進行打通和整合, Kylin OLAP將深度內嵌于猛犸,用戶可以基于猛犸平臺完成KylinOLAP的簡化管理工作。猛犸平臺對接控制節點,作為專業數據建模師的操作入口

Kylin將利用猛犸的用戶管理功能

猛犸將接管用戶項目的創建以及Cube的管理

猛犸將原有的Hive數據源徹底與Kylin打通,便于Kylin管理用戶的數據源

Kylin原生的用戶管理是基于LDAP的,如果不使用LDAP服務需要利用SpringSecurity重新開發一套,網易的內部的猛犸大數據平臺有一套成熟且完善的用戶權限訪問控制體系,因此可以利用現成的機制對Kylin的訪問、修改做保護性的限制。

Kylin的Data Cube建模,特別是一些高級的Cube優化功能如RowKey順序、維度分組、分層等需要較高的學習成本,所以認為不適合讓一般的數據分析師來直接操作,我們設計了一套簡化版的Cube 建模流程,以用戶申請——運維審批的方式進行數據的接入。

有數是網易內部重要的報表分析平臺,有數將KylinOLAP作為一個單獨的數據源進行支持。已有的以及潛在的Hive查詢客戶可以輕松的將報表遷移到KylinOLAP,使得大數據量下的交互式報表分析成為可能。

有數能基于在猛犸上創建的Cube創建報表

有數主動識別Kylin Cube定義的維度和度量

用戶在Kylin OLAP允許的范圍內自由操作,完成報表的編輯和查詢。

與有數結合后的Kylin 查詢結果可以用更多更豐富的圖表的方式展示給數據分析人員:

Apache Kylin在網易公司如何應用大數據

(責任編輯:6g下載網)

分享到:

------分隔線----------------------------
? 35选7福利彩票