天天看點

Spark-資料分析可視化Zeppelin

Apache Zeppelin提供了web版的類似ipython的notebook,用于做資料分析和可視化。背後可以接入不同的資料處理引擎,包括Spark, hive, tajo等,原生支援scala, Java, shell, markdown等。它的整體展現和使用形式和Databricks Cloud是一樣的。

其他元件都是好安裝的,直接mvn install是沒問題的。 而且zeppelin-web項目,裡面使用了node, grunt, bower這些前端的工具。可以自己源碼編譯也可以使用二進制包直接使用。目前官網最新的版本是0.5.6版本,支援spark1.5和hadoop2.x版本。

自己編譯:

- 安裝好node, grunt, bower

修改pom

進入zeppelin-web目錄下,執行 npm install。它會根據package.json的描述安裝一些grunt的元件,安裝bower,然後再目錄下生産一個node_modules目錄。

bower –alow-root install,會根據bower.json安裝前端庫依賴

grunt –force,會根據Gruntfile.js整理web檔案

mvn install -DskipTests,把web項目打包,在target目錄下會生成war

需要在pom.xml裡添加:

到此處就已經編譯完成了。

配置

在zeppelin parent目錄下,修改conf檔案夾裡的zeppelin-env.sh和zeppelin-site.xml,可以是預設配置,但要把兩個檔案原本的無效字尾去掉。

zeppelin parent目錄下執行

漂亮首頁

Spark-資料分析可視化Zeppelin

zeppelin parent目錄下會看到一個notebook檔案夾,按notebook的名字命名區分了多個子目錄。目錄下是一個note.json檔案,記錄了每個notebook裡輸入的代碼和執行結果,啟動的時候會加載起來。

編碼

使用的是scala,notebook,可以直接寫scala代碼

辨別%md, %sh, %sql, %spark, %hive, %tajo來區分要執行的是什麼

Spark-資料分析可視化Zeppelin

進入tutorial notebook,它裡面已經寫好了例子:

Spark-資料分析可視化Zeppelin

apache zeppelin分布式計算、資料分析從業者,代碼量少,子產品很清楚,可以嘗試接入不同計算引擎,試試任務運作、可視化效果。沒有過多複雜的操作,隻是區分了多個notebook,每個notebook裡做單獨的分析處理工作,流程和結果會被儲存下來。此外,為spark做了更好的支援,比如預設是scala環境,預設sc已經建立好,即spark local可跑,預設spark sql有可視化效果。

Publish

Zeppelin provides an URL to display the result only, that page does not include Zeppelin’s menu and buttons. This way, you can easily embed it as an iframe inside of your website.

Spark-資料分析可視化Zeppelin