1. 程式人生 > >深入淺出學Hive——Hive Shell基本操作

深入淺出學Hive——Hive Shell基本操作

•從命令列執行指定的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將進入到互動模式 •以(;)冒號結束命令列
*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> 執行查詢並輸出到標準輸出
第三部分:日誌 日誌 •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> ..]