推薦一款可視化的 Notebook 工具
大數(shù)據(jù)平臺(tái)搭建好后,我們要做的就是探索數(shù)據(jù),探索數(shù)據(jù)就需要查詢(xún),做可視化,那么一款好用自助查詢(xún)可視化工具,你值得擁有!
一、Zeppelin介紹
Apache Zeppelin是一個(gè)讓交互式數(shù)據(jù)分析變得可行的基于網(wǎng)頁(yè)的開(kāi)源框架。Zeppelin提供了數(shù)據(jù)分析、數(shù)據(jù)可視化等功能。
Zeppelin 是一個(gè)提供交互數(shù)據(jù)分析且基于Web的筆記本。方便你做出可數(shù)據(jù)驅(qū)動(dòng)的、可交互且可協(xié)作的精美文檔,并且支持多種語(yǔ)言,包括 Scala(使用 Apache Spark)、Python(Apache Spark)、SparkSQL、 Hive、Hbase、 Markdown、Shell、MySQL、postgresql、JDBC等等。

Zeppelin提供了Interpreter(解釋器)來(lái)連接各種數(shù)據(jù)源,也根據(jù)提供的API可以開(kāi)發(fā)新的interpreter。
二、軟件部署
環(huán)境
jdk
最新版本的Zeppelin(http://zeppelin.apache.org/download.html)
下載zeppelin-XX-bin-all.tgz,拷貝到準(zhǔn)備部署的主機(jī)上,然后解壓。
tar?–zxvf?zeppelin-XX-bin-all.tgz解壓后看到目錄結(jié)構(gòu)如下:

配置Java環(huán)境變量
copy原來(lái)的conf/zeppelin-env.sh.template命名為zeppelin-env.sh,在conf/zeppelin-env.sh添加Java路徑。

配置地址端口號(hào)
copy 原來(lái)的conf/zeppelin-site.xml.template修改配置文件conf/zeppelin-site.xml。默認(rèn)端口是8080,如果8080端口沒(méi)有被占用,也可以使用默認(rèn)端口,不用修改。

啟動(dòng)
bin/zeppelin-daemon.sh start,查看日志,首次啟動(dòng)會(huì)創(chuàng)建日志目錄

啟動(dòng)成功,打開(kāi)前臺(tái)web頁(yè)面 172.1.1.1:8888

新建notebook,測(cè)試(默認(rèn)為Scala語(yǔ)言)

三、連接hive數(shù)據(jù)倉(cāng)庫(kù)
配置interpreter
在前臺(tái)頁(yè)面打開(kāi)interpreter,找到JDBC,配置參數(shù)

HiveServer2 的用戶(hù)名和密碼可以通過(guò)編輯 $HIVE_HOME/conf/hive-site.xml 屬性:
? hive.server2.thrift.client.user
? hive.server2.thrift.client.password
如果沒(méi)有配置該屬性,那么上面的interpreter參數(shù)中的用戶(hù)和密碼可以不用配置。
下面就可以使用Zeppelin連接hive進(jìn)行查詢(xún),首先新建一個(gè)notebook:

驗(yàn)證是否成功連接hive,輸入:show databases,運(yùn)行如下:

輸入查詢(xún)SQL腳本,運(yùn)行如下圖:
keys:指橫軸
Values:指縱軸
可以通過(guò)拖拉方式指定Key和Values(橫軸縱軸的比例是自適應(yīng)的)

其中可視化的表現(xiàn)形式可以選擇:

四、權(quán)限設(shè)置
在登錄的時(shí)候我們發(fā)現(xiàn)Zeppelin默認(rèn)登錄時(shí)不需要輸入用戶(hù)名密碼的,也就是匿名登錄模式anonymous,通過(guò)查看配置文件conf/zeppelin-site.xml可以發(fā)現(xiàn),默認(rèn)配置的是允許匿名訪(fǎng)問(wèn)。

如何修改權(quán)限呢?
首先我們修改該配置zeppelin.anonymous.allowed的value為false,表示不允許匿名訪(fǎng)問(wèn)
conf/shiro.ini文件,顯然zeppelin采用了shiro作為他的驗(yàn)證登錄權(quán)限控制框架,修改文件最后一行

把/=anon修改為/=authc,這樣重啟zeppelin后訪(fǎng)問(wèn)我們的zeppelin主頁(yè)就變成這個(gè)樣子了。(注意右上角編程了login)

看見(jiàn)右上角的Login按鈕了吧,點(diǎn)擊login但是沒(méi)有發(fā)現(xiàn)注冊(cè)按鈕。

需要修改conf/shiro.ini配置文件,其實(shí)Zeppelin已經(jīng)給你配好了幾個(gè)用戶(hù),再次再新增一個(gè)用戶(hù)

然后重啟Zeppelin,點(diǎn)擊login登錄,輸入剛才的賬號(hào)密碼登錄,可以看到登錄上去了。

當(dāng)然權(quán)限控制遠(yuǎn)不止如此。比如:
打開(kāi)剛才的notebook,可以看到右上角有一個(gè)小鎖的標(biāo)志,點(diǎn)擊,可以輸入對(duì)應(yīng)的用戶(hù)對(duì)該notebook操作權(quán)限。

使用其他用戶(hù)登錄會(huì)提示沒(méi)有權(quán)限

可以看到可以對(duì)每一個(gè)notebook進(jìn)行權(quán)限控制,這樣在分享自己的分析結(jié)果中很方便。
五、總結(jié)
Zeppelin的解釋器設(shè)計(jì)非常巧妙,及時(shí)官方?jīng)]有,你也可以開(kāi)發(fā)自己的解釋器(現(xiàn)在已經(jīng)很完善,支持各種連接)。zeppelin支持MD、shell、python、R、SQL、scala等多種語(yǔ)言,在notebook中可以使用多種語(yǔ)言結(jié)合markdown和可視化在探索數(shù)據(jù)后,隨即做一個(gè)很漂亮的分析報(bào)告,不用再機(jī)芯數(shù)據(jù)導(dǎo)出,數(shù)據(jù)可視化,多個(gè)工具之間進(jìn)行遷移,大大提高工作效率。對(duì)于分析團(tuán)隊(duì)很有必要引入一下該組件,新的分析團(tuán)隊(duì)成員再也不用擔(dān)心開(kāi)發(fā)環(huán)境配置了~
Python中文社區(qū)作為一個(gè)去中心化的全球技術(shù)社區(qū),以成為全球20萬(wàn)Python中文開(kāi)發(fā)者的精神部落為愿景,目前覆蓋各大主流媒體和協(xié)作平臺(tái),與阿里、騰訊、百度、微軟、亞馬遜、開(kāi)源中國(guó)、CSDN等業(yè)界知名公司和技術(shù)社區(qū)建立了廣泛的聯(lián)系,擁有來(lái)自十多個(gè)國(guó)家和地區(qū)數(shù)萬(wàn)名登記會(huì)員,會(huì)員來(lái)自以工信部、清華大學(xué)、北京大學(xué)、北京郵電大學(xué)、中國(guó)人民銀行、中科院、中金、華為、BAT、谷歌、微軟等為代表的政府機(jī)關(guān)、科研單位、金融機(jī)構(gòu)以及海內(nèi)外知名公司,全平臺(tái)近20萬(wàn)開(kāi)發(fā)者關(guān)注。
長(zhǎng)按掃碼添加“Python小助手”?
進(jìn)入?P Y 交 流 群
▼點(diǎn)擊成為社區(qū)會(huì)員? ?喜歡就點(diǎn)個(gè)在看吧
