深入淺出學Hive——Hive Shell基本操作
阿新 • • 發佈:2018-12-22
•從命令列執行指定的sql語句
•$HIVE_HOME/bin/hive -e 'select a.col from tab1 a'
•以指定的hive環境變數執行指定的sql語句
•$HIVE_HOME/bin/hive -e 'select a.col from tab1 a' -hiveconf hive.exec.scratchdir=/home/my/hive_scratch -hiveconf mapred.reduce.tasks=32
•以沉默模式執行指定的sql語句,並將執行結果匯出到指定檔案 HIVE_HOME/bin/hive -e 'select a.col from tab1 a' > a.txt
•以非互動式模式執行sql檔案
•HIVE_HOME/bin/hive -f /home/my/hive-script.sql
•在進入互動模式之前,執行初始化sql檔案
•HIVE_HOME/bin/hive -i /home/my/hive-init.sql
Hive 互動式Shell命令
• 當命令 $HIVE_HOME/bin/hive以不帶 -e/-f 選項的方式執行時, hive將進入到互動模式
•以(;)冒號結束命令列
第三部分:日誌
日誌
•Hive使用Log4J來處理日誌
•我們可以通過下面的命令設計Hive的日誌級別
•$HIVE_HOME/bin/hive -hiveconf hive.root.logger=INFO,console
•hive.root.logger的有INFO,DEBUG, 等
第四部分:資源
Hive新增資源
•Hive可以動態的新增資源,如檔案
•一般情況下,我們是在與Hive進行互動時新增檔案
•實際上是使用Hadoop的 Distributed Cache來控制的
例子
•ADD { FILE[S] | JAR[S] | ARCHIVE[S] } <filepath1> [<filepath2>]*
•LIST { FILE[S] | JAR[S] | ARCHIVE[S] } [<filepath1> <filepath2> ..]
• DELETE { FILE[S] | JAR[S] | ARCHIVE[S] } [<filepath1> <filepath2> ..]
*Command * | Description |
quit | 退出命令列 |
set <key>=<value> | 設定引數 |
set -v | 打印出所有Hive支援的命令 |
*Command * | Description |
add FILE <value> <value>* | 增加一個檔案到資源列表. |
list FILE | 列出所有已經新增的資源 |
list FILE <value>* | 根據value來檢視新增的資源 |
! <cmd> | execute a shell command from hive shell |
dfs <dfs command> | 執行DFS的命令 |
<query string> | 執行查詢並輸出到標準輸出 |