天天看點

ApacheZeppelin是一個開源的資料分析平台,是Apache頂級項目。Zeppelin後端以插件形式支援多種資料

作者:從頭開始自學java

Apache Zeppelin是一個開源的資料分析平台,是Apache頂級項目。Zeppelin後端以插件形式支援多種資料處理引擎,如Spark、Flink、Lens等,同時它提供了Notebook式的UI可視化相關操作。為此,Apache Kylin開發了對應的Zeppelin子產品,現已經合并到Zeppelin主分支中,在Zeppelin v0.5.6及後續版本中都可以對接使用Kylin,進而實作通過Zeppelin通路Kylin的資料。

Zeppelin用戶端通過HTTP Rest和Websocket兩種方式與服務端進行互動。在服務端,Zeppelin支援可插拔的Interpreter(解釋器)。以Apache Kyin為例,隻需要開發Kylin的Interpreter,并将其內建至Zeppelin便可以基于Zeppelin用戶端與Kylin服務端進行通信進而高速通路Kylin中的大量資料。

KylinInterpreter是Zeppelin的一個Interpreter(解釋器)插件,用來連接配接Apache Kylin資料。它是建構在Apache Kylin的REST API之上的,也是一種典型的使用Kylin API的場景。KylinInterpreter讀取Zeppelin前端針對Kylin配置的URL、User、Password等連接配接資訊,再結合每次查詢的SQL、project、limit、offset等參數,就可以生成REST API請求,通過HTTP POST方式發送到Apache Kylin伺服器以擷取資料。Zeppelin的前端有自己的資料分裝格式,是以KylinInterpreter需要把Kylin傳回的資料進行适當的轉換以使Zeppelin前端能夠了解。是以KylinInterpreter的主要任務就是拼接參數,完成向Kylin服務端發起的HTTP請求,然後對傳回結果格式化,交給Zeppelin前端顯示。

打開Zeppelin配置頁面,點選“Interpreter”頁面,進行針對Kylin中某個項目或全局的Interpreter配置。建議不要勾選“kylin.query.ispartial”複選框。

打開Notebook建立一個新的Note,在Note中輸入SQL。注意,針對Kylin的查詢需要在SQL前面加上“%kylin”,後面寫上要查詢的項目,如“(learn_kylin)”,Zeppelin後端需要知道用哪個對應的Interpreter去處理查詢。

ApacheZeppelin是一個開源的資料分析平台,是Apache頂級項目。Zeppelin後端以插件形式支援多種資料
ApacheZeppelin是一個開源的資料分析平台,是Apache頂級項目。Zeppelin後端以插件形式支援多種資料
ApacheZeppelin是一個開源的資料分析平台,是Apache頂級項目。Zeppelin後端以插件形式支援多種資料

繼續閱讀