Hive CLI 常用操作

2021-08-27 10:37:40 字數 1643 閱讀 3794

執行乙個查詢

$hive_home/bin/hive -e 'select a.col from tab1 a'

之後過程中,會在終端上顯示mapreduce的進度,執行完畢後,最後把查詢結果輸出到終端上,接著hive程序退出,不會進入互動模式。

使用靜音模式執行乙個查詢

$hive_home/bin/hive -s -e 'select a.col from tab1 a'

加入-s,終端上的輸出不會有mapreduce的進度,執行完畢,只會把查詢結果輸出到終端上。這個靜音模式很實用,,通過第三方程式呼叫,第三方程式通過hive的標準輸出獲取結果集。

使用靜音模式執行乙個查詢,把結果集匯出

$hive_home/bin/hive -s -e 'select a.col from tab1 a' > tab1.csv

不進入互動模式,執行乙個hive script

$hive_home/bin/hive -f /home/my/hive-script.sql

hive-script.sql是使用hive sql語法編寫的指令碼檔案,執行的過程和-e類似,區別是從檔案載入sql.

但是sql檔案,對於bash來說,不能使用變數,而使用-e的方式,可以在bash裡使用變數(但是對於sql檔案的形式,可以利用程式基於變數動態生成sql檔案,再執行,稍微麻煩點)。

這裡可以和靜音模式-s聯合使用,通過第三方程式呼叫,第三方程式通過hive的標準輸出獲取結果集。

當$hive_home/bin/hive執行時,沒有-e或者-f選項,會進入互動式shell模式。

命令描述quit

exit

退出互動式shell

reset

重置配置為預設值

set =

修改特定變數的值

注意:如果變數名拼寫,不會報錯

set輸出使用者覆蓋的hive配置變數

add file[s] * 

add jar[s] * 

add archive[s] *

新增 乙個或多個 file, jar,  archives到分布式快取

list file[s] 

list jar[s] 

list archive[s]

輸出已經新增到分布式快取的資源。

delete file[s] * 

delete jar[s] * 

delete archive[s] *

從分布式快取刪除指定的資源

! 從hive shell執行乙個shell命令

dfs從hive shell執行乙個dfs命令

執行乙個hive查詢,然後輸出結果到標準輸出

source file

在cli裡執行乙個hive指令碼檔案

例子

hive> set mapred.reduce.tasks=32;

hive> set;

hive> select a.* from tab1;

hive> !ls;

hive> dfs -ls;

hive CLI 命令選項

目錄 命名空間 變數替換 hiveconf 選項 hive e hive s 模糊查詢 hive f hive i 操作歷史 執行 shell 命令 hadoop dfs 命令 顯示欄位名稱 hive help 乙個簡單說明的選項列表,service list 後面的內容,是提供的服務 顯示了 cl...

Hive cli原始碼閱讀和梳理

對cli的重新認識 hive cli有兩種模式,本地模式 採用持有的driver物件來處理,遠端模式 通過連線hiveserver來實現,由此可見之前的架構圖中的描述還是模糊且帶有誤導性 支援singal的處理支援,比如對ctrl c中斷,需要兩次才完全退出互動 互動式命令處理模式 原始碼閱讀 si...

EXCEL常用操作(常用操作自維護)

excel常用操作find函式 作用 用於在第二個文字串中定位第乙個文字串,並返回第乙個文字串的起始位置的值,該值從第二個文字串的第乙個字元算起。語法 find find text,within text,start num 示例 find ha b2 replace函式 作用 使用其它文字字串並根...