您好,登錄后才能下訂單哦!
Hive和Impala作為數(shù)據(jù)查詢工具,它們是怎樣來查詢數(shù)據(jù)的呢?與Impala和Hive進行交互,我們有哪些工具可以使用呢?
我們首先明確Hive和Impala分別提供了對應(yīng)查詢的接口:
(1)命令行shell:
1、 Impala:impala shell
2、 Hive:beeline(早期hive的命令行版本是hive shell,現(xiàn)在基本不使用)
(2)Hue Web UI:
1.Hue里面提供了 Hive查詢編輯器
2.Hue里面提供了Impala查詢編輯器
3.Hue里面提供了元數(shù)據(jù)管理器,可以直接對元數(shù)據(jù)進行訪問。
(3)提供了JDBC和ODBC支持
下面進行具體介紹:
一、Impala
(1)使用Impala shell
Impala shell是類似于MySQL的交互式工具,可以直接在終端啟動Impala shell,但是Impala shell在哪里啟動很有講究。Impala本身是分布式的架構(gòu),它的Impalad是在每個slave節(jié)點中的。那么Impala按照如下這種情況直接執(zhí)行的話肯定是在slave節(jié)點中運行的。
如果不是在slave節(jié)點中運行的話,可以指定它的server,像如下這種方式,通過—i的參數(shù),指定21000端口執(zhí)行。
Impala shell和所有的SQL一樣,輸入分號作為語句的結(jié)束,使用quit命令退出shell。如果需要查看幫助的話使用impala-shell --help查看完整的選項列表。因為任何的工具它的參數(shù)都是很多的,一定要習(xí)慣和學(xué)會使用幫助去找到自己想要的一些參數(shù),然后去解決一些復(fù)雜數(shù)據(jù)的分析和處理。
在Impala shell里面執(zhí)行查詢的示例:
(2)Impala與操作系統(tǒng)進行交互
在Impala里面,我們有時候需要去執(zhí)行一些Linux的命令,比如查詢?nèi)掌?,遠程連接,訪問目錄數(shù)據(jù)等,我們不需要退出Impala shell,直接操作就可以,比如:
但是Impala不直接支持HDFS命令,但是可以使用shell運行hdfs dfs命令去創(chuàng)建一個目錄,如下:
(3)從命令行運行Impala查詢,可以不用登陸Impala shell就可以執(zhí)行,如:
1、 使用-f選項來執(zhí)行包含查詢的文件
2、 使用-q選項直接在命令行運行查詢
3、 使用-o來將結(jié)果輸出到文件
二、Hive
(1)啟動beeline
Hive shell是Hive早期版本,現(xiàn)在使用Beeline shell,跟Impala shell相似,但是它是基于JDBC和ODBC,如果需要使用Beeline的話,需要去啟動Hive2,通過為Hive2服務(wù)器指定URL來啟動Beeline,這個時候還需要根據(jù)需要指定用戶名和密碼,如下:
(2)在Beeline執(zhí)行查詢
和SQL一樣以分號結(jié)束,執(zhí)行查詢和Impala shell類似,但結(jié)果格式有少許不同,如:
(3)使用Beeline
和其他工具有一些不同,執(zhí)行查詢都是正常的SQL輸入,但是如果是一些管理的命令,比如進行連接,中斷,退出,執(zhí)行Beeline命令需要帶上“!”,不需要終止符。常用命令介紹:
1、!connect url –連接不同的Hive2服務(wù)器
2、!exit –退出shell
3、!help –顯示全部命令列表
4、!verbose –顯示查詢追加的明細
示例:
(4)從命令行執(zhí)行Hive查詢
1、使用-f選項來執(zhí)行包含HiveQL代碼的文件
2、使用-e選項直接在命令行運行HiveQL
3、使用--silent來阻止通知的消息輸出,也可以和-e或-f選項一起使用
三、Hue
(1)通過Hue訪問Hive和Impala,它們各自都有editors,在Hue的query editors里面我們可以找到Hive和Impala的一些工具,
如下:
以及元數(shù)據(jù)庫我們可以在Data Browsers里面可以看到它的一些工具,如:
(2)Hue查詢編輯器,查詢Impala和Hive查詢編輯器幾乎相同,具體操作示意:
與Impala和Hive進行交互,以上就是我們可以利用和使用的工具,但是在實際的操作中我們還需要加強自己的實戰(zhàn)能力才能更好的去掌握和理解。大數(shù)據(jù)作為當(dāng)下還在不斷完善發(fā)展的技術(shù),需要每一位想要從事和已經(jīng)從事它的人員不斷去學(xué)習(xí)和積累,更需要去交流和分享,共同進步。“大數(shù)據(jù)cn”、“大數(shù)據(jù)時代學(xué)習(xí)中心”是我平時自己在自主學(xué)習(xí)過程中找到微信服務(wù)號,里面介紹的關(guān)于大數(shù)據(jù)的知識以及大數(shù)據(jù)發(fā)展的一些行業(yè)知識都很不錯,平常大家可以看看。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。