成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

大數據分析工程師入門11-Hue&Zeppelin

大數據 數據分析
日常數據分析工作中,很多時候都在處理臨時性的需求,這種需求要求快速響應和很快得出結果,如果每一個需求都需要寫在代碼文件中,然后編譯打包上傳再執行,就會非常浪費時間,尤其是寫出來的查詢語句頻繁出錯,需要不斷改正再重復打包上傳的時候。

 日常數據分析工作中,很多時候都在處理臨時性的需求,這種需求要求快速響應和很快得出結果,如果每一個需求都需要寫在代碼文件中,然后編譯打包上傳再執行,就會非常浪費時間,尤其是寫出來的查詢語句頻繁出錯,需要不斷改正再重復打包上傳的時候。

 

所以繼上一篇Linux常用命令工具篇講解完成以后,本文講解另外兩個非常重要的數據分析工作中會使用到的工具:Hue和Zeppelin

 

它們都提供了非常方便的數據查詢UI界面,能夠很方便的進行多次查詢并且能夠很快地查詢出結果。

 

那么,為什么要將兩種工具都跟大家介紹一下呢?

 

那是因為它們都有著屬于自己的特性和優勢,小伙伴們需要根據不同使用場景擇優選擇。考慮到有的小伙伴對這兩種工具目前還沒有很豐富的使用經驗,在本文開頭不對它們的異同之處介紹說明,待大家閱讀完本文正文,在文章的最后跟大家一起來總結對比一下它們的差別,這樣大家理解起來會更容易一些。

 

01

Hue

 

為什么要講Hue?

 

Hue是一個Web應用,設計初衷是簡化用戶和Hadoop集群間的交互。

 

大數據的框架很多,通常在解決一個問題的時候,會用到多種框架,這個時候有一個統一的web UI界面去管理各個大數據常用框架是非常方便的。Hue幾乎可以支持所有大數據框架,包含有HDFS文件系統的頁面(調用HDFSAPI,進行增刪改查的操作),有HIVE UI界面(使用HiveServer2,JDBC方式連接,可以在頁面上編寫HiveQL語句,進行數據分析查詢),YARN監控及Oozie工作流任務調度頁面等等。

 

Hue通過把這些大數據技術棧整合在一起,通過統一的Web UI來訪問和管理,極大地提高了大數據用戶和管理員的工作效率。

 

日常數據分析工作中,Hue幾乎每天都會用到,所以需要熟練掌握Hue的常用功能。

 

主要講解目標

 

圍繞日常數據分析工作中使用HiveQL在Hue上查詢數據用到的功能點,寫一篇類似使用手冊的Hue工具操作指南。

 

主要講解思路

 

簡單來說,就以一個用戶第一次進入Hue來進行一個簡單的HiveQL查詢為例,逐步講解日常最常使用到的功能點。

 

1.1首先進入的主界面功能模塊簡介

 

通過已經開通了權限的用戶名密碼登陸Hue,首先進入的主界面如下:

如圖展示的三塊紅框功能區,功能區1后續會在實際使用中結合使用場景介紹,功能區2和3說明如下:

 

功能區2從左到右依次是搜索文件夾或Notebook、新建Hive Query或Notebook、新建文件夾、重命名文件夾、將選中的文件夾或者Notebook移到回收站、將選中文件夾或Notebook分享給其他用戶或用戶組、下載選中的文件夾或Notebook(下載下來是個json文件)、上傳文件(要求是指定格式的json文件)、進入回收站。功能區3羅列了目前該用戶權限下看到的所有文件夾和Notebook,可以點擊進入目標文件夾或Notebook頁面。

 

主界面簡單介紹完以后,下一步就是如何進入庫表查看和HiveQL編輯界面了,入口在功能區1,共有兩種進入方式。

 

第一種:點擊Query Editors出現下拉框

點擊Hive,進入頁面如下

第二種:點擊Notebooks

新建一個Notebook(紅框1)或者進入自己已建的Notebook(紅框2),如選擇新建Notebook,進入頁面如下:

標記1處是給該Notebook命名,標記2是該Notebook的詳細說明,標記3處可選擇某種語言進入代碼編輯頁面,如選擇Hive編寫HiveQL。

這兩種方式的區別是:

 

后者建Notebook可以將一次完整需求的所有查詢語句歸整保存,便于復用。下次只要在上文所講的主界面通過搜索該Notebook或上文所講能夠進入HiveQL編輯界面的第二個入口處,點擊菜單欄Notebooks彈出下拉框后,下滑滾動找到該Notebook,點擊進入,就可以再次查看這次所寫的查詢語句,進行復用或回顧,并且可以將該Notebook分享給他人使用。

 

在數據分析日常工作中,有時候需要提供給業務方某個需求的多個查詢語句,以供他們需要時使用,這時候就可以建一個Notebook,幫業務方把查詢語句依次寫好保存,然后將Notebook分享給業務方即可。HiveQL編輯界面中點擊上圖中的+號可以依次添加新的查詢編輯區,且新添加的查詢編輯區可重新選擇執行語言。

 

1.2查看目標庫表的基本信息

 

通過上面的講解,現在我們已經可以著手進行數據查詢了,首先進入上文所建的Notebook(文章輸出示例Notebook)。

 

1.2.1 搜索目標表

 

假設現在需要統計的信息在test庫中,且只記得表名包含active字段,直接搜索關鍵字即可,搜索支持模糊匹配。

1.2.2 查看字段信息

 

如果想要知道目標表中有哪些字段,每個字段的含義和數據類型是什么,只需點擊一下查找到的目標表就可以看到字段名和字段類型,將鼠標懸停在想要查看的字段上,就可以看到字段注釋。

1.2.3 查看樣本值

 

如果想要知道表里面的字段值大概是什么樣子的,有兩種方式,第一種可以寫HiveQL limit 幾條出來看看結果。

另一種可以不用寫查詢語句那么麻煩,通過點擊上圖目標表或者每個字段右側的像柱狀圖一樣的那個圖標,就會彈出樣本值浮框。

1.2.4 查看分區字段

 

之前系列課程Hive基礎中有提到過,進行表數據查詢時,尤其是一張數據量非常龐大的表的時候,一定要記得加上分區字段進行條件限制,否則極可能因查詢數據量過大而造成集群崩潰。想要查看目標表的分區字段是哪些,方式有兩種,除了通過show create table 語句查看,還有一種方式如下,點擊DataBrowsers 下的Metastore Tables:

進入test庫的詳情頁,如下:

點擊目標表紅框處的向右箭頭,進入該表的詳情頁,該頁面可以看到表的基本信息、表的字段信息、分區信息、樣本數據等。

點擊標記1處,查看分區字段信息如下:

點擊標記2處,可查看目前的分區字段信息(比如日期信息)所有值的情況(至于頁面上其他功能按鈕,小伙伴們可以自己實踐操作查看了解一下)。

點擊標記1處可刪除所選中分區,點擊標記2處可跳轉到HDFS查看具體HDFS路徑。

 

1.3標題編寫HiveQL

 

字段、字段值、分區都明確了以后,可以寫第一個HiveQL了,以需要查詢某段時間目標表中每天所有明細數據為例。

1.3.1 傳參

 

如果這個需求需要不定時查詢,那么day_p的時間區間可以采用參數的方式傳入,使用者只需要在傳參輸入框輸入想要查詢的日期即可,start_time和end_time字段可依據實際需要命名為別的名稱。要點是,在SQL中使用類似${argName}的形式,下面就會多一個輸入框。

1.3.2 切換語言環境

 

目前編輯框的語言環境是HiveQL,如何想用SparkSql或者執行別的語言,可進行切換,切換語言環境的同時也會切換執行引擎。操作見下圖,點擊標記處就可以進行選擇啦:

1.3.3 語句格式化&執行

 

如果所編寫的HiveQL包含了很多層關聯或嵌套,整個語句結構不清晰,查看起來很不方便,那么可以使用Hue的Format功能,使整個語句的結構進行標準格式化。點擊下圖標記2處,下拉框中選擇Format,即可將語句結構格式化。

 

標記1處是語句執行按鈕,點擊即開始執行。如果查詢數據量非常大,已經查詢了很長一段時間或者突然發現查詢語句有問題,想要終止查詢,那么同樣可點擊標記1處進行終止。

Format下方還有一個Clear選項,該選項可以將當前編輯框中的查詢語句和查詢結果清空。

 

1.3.4 查看查詢結果

 

接下來將教大家在查詢結果數據字段非常多的情況下如何選擇性的篩選查看部分數據。

 

1.3.4.1 查看所有結果字段及其類型

 

點擊下圖標記處。

彈出如下標記處的查詢結果字段值和字段類型信息。

1.3.4.2 搜索查詢結果指定字段

 

查詢出來的結果字段非常多的情況下,可使用搜索功能,如查找all_user字段。

1.3.4.3 選擇顯示部分查詢結果字段

 

如果只想顯示部分字段查看其結果值,可針對復選框進行選擇性勾選。

1.3.5 查詢結果可視化

 

Hue上可對查詢結果進行簡單的可視化,點擊下圖標記處彈出的下拉選項中可選擇性的進行不同類型可視化,讀者可自行實踐操作下,這里就不一一操作展示效果啦。

1.3.6 查詢結果下載

 

通常情況下,在Hue上直接進行可視化操作不會太多,一般會將整個查詢結果下載下來在Excel里進行結果的初步分析和查看工作。下載按鈕如下圖標記處,下拉框中提供不同的下載選項。需要注意的是,如果查詢的是數據量非常龐大的明細數據,很可能出現結果不能完全下載下來的情況,因此建議結果數據超過1000條時,優先下載csv格式。

1.3.7 命名查詢主題

可以給每一條查詢語句命名,以便提高辨識度,方便日后查閱。

如命名以上查詢語句為“查詢一段時間內的明細數據”,記住命名完成以后,點擊下圖標記1處的保存按鈕進行保存,最好養成時時保存的習慣,以免意外情況發生導致頁面重新刷新,所有操作信息丟失,又得重新開始的情況。

1.3.8 清空Notebook里的所有查詢結果

 

整個Notebook頁面查詢結果展示過多的話,有可能出現每次進入該Notebook頁面需要刷新很久的情況,如無必要,可將所有查詢結果清空。

1.3.10 其他

 

Hue還有很多其他功能點,感興趣的小伙伴可基于本文所介紹之基礎自行查看了解,作為入門課程,這里就不繼續深入介紹了,比如HDFS相關信息查看頁面(通過標記1處進入)和Job信息查看頁面(通過標記2處進入)等。

02

Zeppelin

 

2.1zeppelin簡介

 

zeppelin是一個非常流行的開源數據探索分析平臺。zeppelin集成了非常多的數據處理和分析相關的組件,其核心組織概念是notebook,所有的操作都可以在notebook中完成,官網的原話是“The Notebook is the place for all yourneeds”。

 

它主要擁有以下優秀的功能特性:

 

1)非常易用的操作界面,界面上提供了非常好用的各式工具,幫助你完成各種數據處理操作。

 

2)支持多種編程語言,zeppelin通過interpreter實現了將多種語言和數據處理框架以插件的形式集成進來。官方默認集成了spark組件,幾乎是開箱即用的,非常方便。

 

3)有著強大的數據可視化組件,除了支持基礎圖形(折線圖、柱狀圖、餅圖等)外,zeppelin還支持數據透視功能,而且是通過拖拽就可以完成可視化操作,非常強大。

 

4)支持動態表單,允許在你的SQL語句或者代碼中嵌入變量,在執行前輸入不同的參數值給變量賦值。

 

5)支持將zeppelin頁面或段落嵌入到其他網頁中,并能夠實時更新數據。

 

那么對于大數據分析師來說,zeppelin能夠幫我們做什么呢?

 

首先,zeppelin支持運行sparksql,我們可以在zeppelin上運行我們編寫的SQL語句,通過比對運行后的結果,驗證我們的SQL是否編寫正確;

 

其次,zeppelin支持運行scala代碼,那我們可以利用它來試探性地使用spark的相關api,或者在zeppelin上編寫并運行spark的udf,避免反復打包上傳,提高開發效率;

 

然后,zeppelin擁有非常強大的可視化功能,我們可以對數據進行探索分析,通過可視化直觀地發現問題,快速驗證構想,并深入地分析和挖掘數據價值。

 

最后,zeppelin的運行結果可以非常方便的導出,可以使用它來完成臨時需求,提供數據結果給業務方。并且可以把相關代碼或SQL保存起來,下次如有相似需求,直接修改下相關條件運行下就可以了。

 

官網上有非常詳細的zeppelin安裝步驟,大家可以依照文檔來完成安裝和配置,這里就不占用篇幅來講了。在大致了解了zeppelin之后,我們來看下它的核心概念和具體的使用方法。

 

2.1zeppelin簡介

 

2.2.1 Interpreter

 

Interpreter是zeppelin最核心的概念,zeppelin允許任何語言和數據處理框架以interpreter的方式集成進來,這構建了zeppelin強大功能的基礎。

 

zeppelin提供了大量的各種語言和框架的可以直接使用的interpreter,在安裝zeppelin時可以選擇安裝包含所有interpreter的安裝包,或者在安裝后通過
./bin/install-interpreter.sh腳本安裝指定名稱的interpreter。另外,你也可以參照官網上的文檔,編寫自己的interpreter,擴展zeppelin的功能。

 

在使用interpreter之前需要進行一些設定,如對于spark interpreter來說,需要設置spark的安裝目錄、提交作業的地址、driver和excutor的內存等信息。具體如何設置,在官網文檔中都有給出詳細說明。

 

在使用具體的interpreter時,只需要在代碼的首行添加%加上具體的interpreter名稱即可(首行不能有其他內容)。如使用spark時,在首行添加%spark,使用sparksql時,在首行添加%sql即可,使用pyspark,在首行添加%pyspark。如果設置了默認使用spark,則可以省略不寫。

 

2.2.2 Note&Paragraph

 

Note頁面是zeppelin使用頻率最高的頁面,這個頁面是用戶的主要操作界面,它有非常多的功能,我們在下一章節頁面介紹時會詳細介紹。note頁面包含多個paragraph,每個paragraph內可以寫代碼。上面我們提到的interpreter標識就是寫在paragraph的首行的,每個paragraph內只能使用一種interpreter,但是不同的paragraph可以使用不同的interpreter,即一個note內可以同時存在多個使用不同interpreter的paragraph。

 

zeppelin是以paragraph為最小運行單位的。對于spark interpreter來說,同一個用戶同一時間,只能有一個paragraph處于運行狀態(running),如果這時運行了其他的寫了spark代碼的paragraph,那么它將處于等待狀態(pending),直到第一個paragraph運行結束后,它才會開始運行。當然,運行狀態是可以被中斷的。

 

2.2.3 Dynamic forms

 

動態表單(dynamic form)是zeppelin提供的一項非常實用的功能,允許你在代碼或者SQL中使用變量,在運行前通過手動輸入變量值,然后運行時動態替換代碼或者SQL中的變量,避免了反復修改代碼或SQL的麻煩。具體示例如下:

如果只有圖中條件的值發生變化時,只需要在下方的輸入框中輸入新的值,直接運行就可以了,非常的方便。只要你在代碼或SQL中使用類似${argName}的形式,那么就會被識別為動態表單,如果下方沒有出現輸入框,可以先運行一下,輸入框就會出現了。

 

動態表單還有其他一些用法,更多詳細信息可以查閱官方文檔(https://zeppelin.apache.org/docs/0.8.1/usage/dynamic_form/intro.html)。

 

2.3zeppelin頁面介紹

 

zeppelin的功能是很強大的,因此頁面也比較多,這里我們只介紹最常用的幾個頁面。

 

2.3.1 主頁

頂部導航欄上標記1的位置,點擊后會展開現有note的列表,與標記5區域展示的內容一致,主要作用是為了方便你處在某個note頁面中時,可以不用回到首頁而方便地切換到其他note。

 

點擊標記2的位置,會跳轉到job頁面,這個頁面你可以查看note各paragraph的最后一次運行狀態,并可通過點擊圖標跳轉到指定的note中的paragraph位置,我們通常可以利用這個頁面查看定時調度任務的執行狀態。

 

標記3位置展示的是與ZeppelinServer的連接狀態,綠色表示正常,當連接出現異常時,這里會變成紅色。點擊標記4的位置,可以跳轉到interpreter的配置頁面,我們在2.3.4小節會再詳細講。

 

點擊標記6位置的按鈕可以創建一個全新的note,這個按鈕在上述提到的標記1展開的列表中也有。當你把鼠標懸停在標記5區域的某個note名字上時,后面會出現三個小按鈕,如標記7位置所示,分別對應重命名、清空輸出和移到回收站操作。

 

在標記3的左邊有個搜索框,這里可以進行全局搜索,例如你只記得代碼中的某個片段,但是不記得具體寫在哪個note中,就可以通過這里搜索出對應的note,點擊note的名稱便可以直接跳轉進去。如下所示:

2.3.2 note頁

頂部導航欄和首頁的導航欄作用完全相同,這里就不再重復講了。標記1的位置展示的是note的名字,建議大家要起一個辨識度比較高的名字,不要太隨意,不然后續查找代碼時非常費勁。標記1右側為工具欄,我們來逐個介紹下。標記2區域中的按鈕是針對所有paragraph生效的,從左至右依次為,運行所有paragraph、顯示或隱藏代碼、顯示或隱藏輸出結果、清空所有輸出結果、克隆當前note頁、導出當前note頁、切換為私有模式。標記3區域提供了版本控制功能。標記4區域內按鈕,分別是將當前note移動到回收站和對當前note做定時調度。標記5區域的功能依次為,展示快捷鍵、interpreter綁定、note權限管理和主題模式選擇。

 

這里我們簡單講下interpreter綁定界面,點擊下圖中箭頭位置可以打開綁定界面。界面中展示的是所有你安裝的interpreter組,藍色表示在本note中可以使用,點擊藍色方框后會變成白色,表示和當前note解綁,在當前note中不可使用。另外,可以通過拖拽改變他們的順序,處于最頂上的那個方框里的第一個解釋器就是默認解釋器,當你在paragraph中不指定解釋器時,就會使用這個默認解釋器。點擊方框前面的刷新按鈕,會重啟對應的interpreter。

在note頁面的下方所有區域為paragraph區,我們在下一小節單獨來講下。

2.3.3 paragraph

標記1區域為代碼編輯區,你在paragraph的代碼編輯區中的所有編輯操作都是自動保存的,而且zeppelin還提供了針對不同語言的語法高亮,非常的好用。標記2為命令區,從左只有依次為運行按鈕、隱藏編輯區、隱藏輸出、設置。點擊運行按鈕后,編輯區的代碼會被運行,在運行結束前,如果再點擊一次,則會中止代碼的運行。點擊設置按鈕后會彈出下面展示的設置選項界面,這里重點關注下標記4選項,可以展示title,這樣我們就可以給我們的每個paragraph起一個名字或寫一句描述,提高辨識度。標記5的區域展示的是上次運行花費的時間,以及代碼的最后更新時間等信息。

 

標記3的區域為結果展示區,在紅框上面的一排按鈕為可視化操作相關的按鈕,大家可以嘗試地去用一下,用zeppelin可以完成常用基本圖形的可視化。如果你的代碼有報錯,錯誤信息也會在這個區域展示。

paragraph是我們工作的核心區域,它的功能簡潔而強大,新增paragraph也是非常方便的,你可以點擊任意paragraph的頂部或底部間隙來插入一個新的paragraph,如下圖所示:

標記6位置即新增一個paragraph的按鈕,默認是隱藏的,鼠標懸停在這里就會顯示。標記7位置演示了展示錯誤信息的功能。

 

2.3.4 interpreter頁

 

通過2.3.1小節中講到的點擊標記4的位置,可以跳轉到interpreter頁,當然啦,前提是你有這個頁面的訪問權限,具體頁面的形式如下所示。

標記1區域為功能按鈕,從左到右依次為跳到SparkUI界面、編輯spark interpreter的相關屬性、重啟spark interpreter(該動作同時會重啟Spark client端,即SparkSubmit進程)、移除spark interpreter。標記2區域為設置spark interpreter實例化SparkSubmit進程的方式,圖中設置結果的含義為每個用戶都擁有獨立的SparkSubmit進程,他們是互相隔離的。標記3區域的作用為設置spark的相關屬性,如master地址、driver和executor內存等,修改設置后需要重啟spark interpreter才能生效。

 

03

Hue&Zeppelin異同點

 

通過正文對Hue和Zeppelin的使用說明,相信大家對它們已經有了一定的了解,如開篇跟大家說的,它們都是很好的能夠快速響應臨時需求和很快得到查詢結果的Web UI工具。

 

那么,它們有什么異同點呢?分以下幾個方面跟大家總結一下。

 

1功能

 

(1)Zeppelin和Hue都能提供一定的數據查詢和可視化的功能,都提供了多種圖形化數據表示形式。

 

(2)Zeppelin支持的后端數據查詢程序較多。

 

(3)Zeppelin只提供了單一的數據處理功能,包括上文提到的數據提取、數據發現、數據分析、數據可視化等都屬于數據處理的范疇。而Hue的功能相對豐富的多,除了類似的數據處理,還有元數據管理、Oozie工作流管理、作業管理、用戶管理、Sqoop集成等很多管理功能。從這點看,Zeppelin只是一個數據處理工具,而Hue更像是一個綜合管理工具。

 

2架構

 

(1)Zeppelin采用插件式的解釋器,通過插件開發,可以添加任何后端語言和數據處理程序。相對來說更獨立和開放。

 

(2)Hue與Hadoop生態圈的其它組件密切相關,一般都與CDH(Cloudera發行版(Cloudera’s DistributionIncluding Apache Hadoop,簡稱 CDH ))一同部署。

 

3使用場景

 

(1)Zeppelin適合單一數據處理、但后端處理語言繁多的場景,尤其適合Spark。

 

(2)Hue適合與Hadoop集群的多個組件交互、如Oozie工作流、Sqoop等聯合處理數據的場景,尤其適合與Impala協同工作。

 

小結
本文主要給大家介紹了兩種日常數據分析工作中用來快速處理臨時需求的Web UI工具-Hue&Zeppelin。

責任編輯:梁菲 來源: 數據與智能
相關推薦

2021-02-25 11:42:23

大數據數據分析sQL

2020-01-17 13:33:42

大數據分析師大數據工程師

2018-08-19 15:39:56

數據分析數據科學數據工程師

2018-07-20 16:57:51

大數據書單工程師

2015-08-17 09:39:40

大數據

2013-05-06 09:14:26

BigQuery大數據分析大數據分析入門

2019-04-24 12:45:00

2017-11-09 14:12:44

大數據軟件工程師算法工程師

2012-08-07 17:32:25

數據分析師

2015-08-19 13:50:19

數據分析

2015-08-14 10:28:09

大數據

2015-04-03 11:19:21

大數據大數據分析師

2019-10-10 17:40:54

數據科學可視化繪圖

2015-08-11 15:52:52

大數據數據分析

2021-02-25 11:36:28

大數據Gartner

2016-01-26 10:33:23

大數據分析工具數據分析師

2021-10-12 15:25:08

大數據數據分析

2022-03-29 14:49:14

大數據數據分析

2015-07-23 09:34:57

大數據數據分析

2013-04-09 09:28:20

大數據大數據全球技術峰會
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 伊人精品久久久久77777 | 毛片大全 | 国产亚洲精品久久午夜玫瑰园 | 久久久成人网 | 国产欧美一区二区三区久久手机版 | 精品一二三 | 成人精品国产 | 成人av一区 | 欧美日韩不卡 | 黄色一级大片在线观看 | 女女百合av大片一区二区三区九县 | 伊人伊成久久人综合网站 | 免费国产网站 | 亚州成人 | 999观看免费高清www | 国产91av视频在线观看 | 欧美日本亚洲 | 伊人久久麻豆 | 午夜小视频免费观看 | 天堂一区二区三区四区 | 国产免费看 | 国产一在线观看 | 中文字幕精品一区二区三区在线 | 亚洲视频一区在线观看 | 黄色一级网 | 亚洲成人观看 | 久久亚洲国产精品日日av夜夜 | 欧美高清免费 | 久久这里只有精品首页 | 成人一区二区三区在线观看 | 免费在线观看av的网站 | 成人精品视频在线观看 | 青青草av在线播放 | 中文字幕1区 | 嫩草视频网 | 国产精品欧美一区二区 | 国产精品夜夜春夜夜爽久久电影 | 日日夜夜91 | 羞羞视频网站 | 中文字幕亚洲一区 | 午夜一区二区三区在线观看 |