Flink-Zeppelin On FlinkSql
摘要
最近在調研流平臺,發現各大公司流平臺的Web界面都是自己一個團隊開發,相當完備。苦於人力、時間有限,想找現成的能提交FlinkSql的Web代碼,沒找到合適的開源的。但是想起了之前看過的Zeppelin,現在已經支持Flink 1.0且支持DataStream、Table & SQL 等,遂趕緊嘗試。如果能走通,後續計劃在原數據這塊兒看看有什麼好辦法管理起來。
1 Zeppelin
1.1 簡介
Zeppelin基於界面化的筆記本,可實現數據驅動,使用SQL、Scala(沒看錯,能指直接寫Scala代碼!)等進行交互式數據分析。
可視化的筆記本是指:
- 數據攝取
- 數據發現
- 數據分析
- 數據可視化、協作
1.2 Interpreter
Zeppelin interpreter是個重要的組件,可將任何語言和數據處理後端以插件化的方式接入Zeppelin,目前支持的技術棧如下:
如果沒有你需要的,那還可以自定義一個how to create a new interpreter
1.3 數據可視化
1.3.1 概述
已經支持一些基本圖標,任意後端輸出都可以以圖表方式展現!(不用後端人員再去學什麼echarts了)
1.3.2 聚合指標運算
直接可以拖拽方式生成。
還想了解更多或二次開發就參考:
1.3.3 動態表格
Dynamic Forms 是Zeppelin的一個高級功能,允許用戶在代碼中插入UI控件來允許用戶定製化你的代碼。Jdbc Interpreter支持這一功能,用戶可以定製SQL,下面是一個下拉框的例子。
1.3.4 發佈Zeppelin筆記本
可以直接將你的Zeppelin筆記本url分享給其他寫作者,則大家都可以看到實時更新。
2 安裝、部署和配置
2.1 下載
有三種方式:下載完整已編譯二進制包、通過網絡安裝指定interpreter的包或者源碼自己編譯安裝。
圖方便就用第一種吧。
2.2 安裝
可參考
必須是JDK 1.8(171)以上
下載完後直接解壓zeppelin-0.9.0-preview1-bin-all.tgz
。
tar -zxvf zeppelin-0.9.0-preview1-bin-all.tgz
2.3 配置
2.3.1 常用配置
可修改兩個配置文件,都配置了同key屬性時以環境變量文件爲準:
- conf/zeppelin-env.sh
一些環境變量 - conf/zeppelin-site.xml
一些java屬性
2.3.2 Zeppelin On Yarn
z
2.4 啓動
進入安裝好的zeppelin目錄後,執行