溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

學(xué)習(xí)Hive和Impala必看經(jīng)典解析

發(fā)布時間:2020-10-24 21:10:24 來源:網(wǎng)絡(luò) 閱讀:2478 作者:caosheng03 欄目:大數(shù)據(jù)


Hive和Impala作為數(shù)據(jù)查詢工具,它們是怎樣來查詢數(shù)據(jù)的呢?與Impala和Hive進行交互,我們有哪些工具可以使用呢?

我們首先明確HiveImpala分別提供了對應(yīng)查詢的接口:

(1)命令行shell

1、 Impalaimpala shell

2、 Hivebeeline(早期hive的命令行版本是hive shell,現(xiàn)在基本不使用)

(2)Hue Web UI

 1.Hue里面提供了 Hive查詢編輯器

2.Hue里面提供了Impala查詢編輯器

3.Hue里面提供了元數(shù)據(jù)管理器,可以直接對元數(shù)據(jù)進行訪問。

3)提供了JDBCODBC支持

下面進行具體介紹:

一、Impala

(1)使用Impala shell

Impala shell是類似于MySQL的交互式工具,可以直接在終端啟動Impala shell,但是Impala shell在哪里啟動很有講究。Impala本身是分布式的架構(gòu),它的Impalad是在每個slave節(jié)點中的。那么Impala按照如下這種情況直接執(zhí)行的話肯定是在slave節(jié)點中運行的。

學(xué)習(xí)Hive和Impala必看經(jīng)典解析

如果不是在slave節(jié)點中運行的話,可以指定它的server,像如下這種方式,通過—i的參數(shù),指定21000端口執(zhí)行。

學(xué)習(xí)Hive和Impala必看經(jīng)典解析

   Impala shell和所有的SQL一樣,輸入分號作為語句的結(jié)束,使用quit命令退出shell。如果需要查看幫助的話使用impala-shell --help查看完整的選項列表。因為任何的工具它的參數(shù)都是很多的,一定要習(xí)慣和學(xué)會使用幫助去找到自己想要的一些參數(shù),然后去解決一些復(fù)雜數(shù)據(jù)的分析和處理。

Impala shell里面執(zhí)行查詢的示例:

學(xué)習(xí)Hive和Impala必看經(jīng)典解析

(2)Impala與操作系統(tǒng)進行交互

Impala里面,我們有時候需要去執(zhí)行一些Linux的命令,比如查詢?nèi)掌?,遠程連接,訪問目錄數(shù)據(jù)等,我們不需要退出Impala shell,直接操作就可以,比如:

學(xué)習(xí)Hive和Impala必看經(jīng)典解析

但是Impala不直接支持HDFS命令,但是可以使用shell運行hdfs dfs命令去創(chuàng)建一個目錄,如下:

學(xué)習(xí)Hive和Impala必看經(jīng)典解析

(3)從命令行運行Impala查詢,可以不用登陸Impala shell就可以執(zhí)行,如:

1、         使用-f選項來執(zhí)行包含查詢的文件

學(xué)習(xí)Hive和Impala必看經(jīng)典解析

2、         使用-q選項直接在命令行運行查詢

學(xué)習(xí)Hive和Impala必看經(jīng)典解析

3、         使用-o來將結(jié)果輸出到文件

學(xué)習(xí)Hive和Impala必看經(jīng)典解析

 

二、Hive

1)啟動beeline

Hive shellHive早期版本,現(xiàn)在使用Beeline shell,跟Impala shell相似,但是它是基于JDBCODBC,如果需要使用Beeline的話,需要去啟動Hive2,通過為Hive2服務(wù)器指定URL來啟動Beeline,這個時候還需要根據(jù)需要指定用戶名和密碼,如下:

學(xué)習(xí)Hive和Impala必看經(jīng)典解析

2)在Beeline執(zhí)行查詢

SQL一樣以分號結(jié)束,執(zhí)行查詢和Impala shell類似,但結(jié)果格式有少許不同,如:

學(xué)習(xí)Hive和Impala必看經(jīng)典解析

3)使用Beeline

和其他工具有一些不同,執(zhí)行查詢都是正常的SQL輸入,但是如果是一些管理的命令,比如進行連接,中斷,退出,執(zhí)行Beeline命令需要帶上“!”,不需要終止符。常用命令介紹:

1、!connect url 連接不同的Hive2服務(wù)器

2!exit 退出shell

3、!help 顯示全部命令列表

4、!verbose 顯示查詢追加的明細

示例:

學(xué)習(xí)Hive和Impala必看經(jīng)典解析

4)從命令行執(zhí)行Hive查詢

1、使用-f選項來執(zhí)行包含HiveQL代碼的文件

學(xué)習(xí)Hive和Impala必看經(jīng)典解析

2、使用-e選項直接在命令行運行HiveQL

學(xué)習(xí)Hive和Impala必看經(jīng)典解析

3、使用--silent來阻止通知的消息輸出,也可以和-e-f選項一起使用

學(xué)習(xí)Hive和Impala必看經(jīng)典解析

 

三、Hue

1)通過Hue訪問HiveImpala,它們各自都有editors,在Huequery editors里面我們可以找到HiveImpala的一些工具,

如下:

學(xué)習(xí)Hive和Impala必看經(jīng)典解析

以及元數(shù)據(jù)庫我們可以在Data Browsers里面可以看到它的一些工具,如:

學(xué)習(xí)Hive和Impala必看經(jīng)典解析

2Hue查詢編輯器,查詢ImpalaHive查詢編輯器幾乎相同,具體操作示意:

學(xué)習(xí)Hive和Impala必看經(jīng)典解析

ImpalaHive進行交互,以上就是我們可以利用和使用的工具,但是在實際的操作中我們還需要加強自己的實戰(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è)知識都很不錯,平常大家可以看看。


向AI問一下細節(jié)

免責(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)容。

AI