目錄:
初始Hive
Hive安裝與配置
Hive 內建操作符與函數開發
Hive JDBC
hive參數
Hive 進階編程
Hive QL
Hive Shell 基本操作
hive 最佳化
Hive體繫結構
Hive的原理
配套視頻課程
第一部分:Hive bin下指令碼介紹 Hive bin下的指令碼介紹 Ext hive hive-config 第二部分:Hive Shell 基本操作 Hive 命令列 •hive [-hiveconf x=y]* [<-i filename>]* [<-f filename>|<-e query-string>] [-S] •-i 從檔案初始化HQL •-e 從命令列執行指定的HQL • -f 執行HQL指令碼 •-v 輸出執行的HQL語句到控制台 •-p <port> connect to Hive Server on port number -hiveconf x=y Use this to set hive/hadoop configuration variables. Hive 命令列樣本 •從命令列執行指定的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> ..] 轉自: http://sishuok.com/forum/blogPost/list/0/6228.html