Hive

Hive 命令行

命令行參數 說明
-d,–define <key=value> 定義一個變量值,這個變量可以在Hive交互Shell中引用,后面會介紹用法,比如:-d A=B
–database <databasename> 進入Hive交互Shell時候指定數據庫,默認進入default數據庫
-e <quoted-query-string> 命令行執行一段SQL語句
-f <filename> filename文件中保存HQL語句,執行其中的語句
-H,–help 顯示幫助信息
-h <hostname> 連接遠程Hive Server,后續介紹
–hiveconf <property=value> 在命令行中設置Hive的運行時配置參數,優先級高于hive-site.xml,但低于Hive交互Shell中使用Set命令設置。
–hivevar <key=value> 同—define
-i <filename> 進入Hive交互Shell時候先執行filename中的HQL語句
-p <port> 連接遠程Hive Server的端口號
-S,–silent 靜默模式,指定后不顯示執行進度信息,最后只顯示結果
-v,–verbose 冗余模式,額外打印出執行的HQL語句

輸入$HIVE_HOME/bin/hive –H 或者 –help可以顯示幫助選項:

命令行參數 說明
-d,–define <key=value> 定義一個變量值,這個變量可以在Hive交互Shell中引用,后面會介紹用法,比如:-d A=B
–database <databasename> 進入Hive交互Shell時候指定數據庫,默認進入default數據庫
-e <quoted-query-string> 命令行執行一段SQL語句
-f <filename> filename文件中保存HQL語句,執行其中的語句
-H,–help 顯示幫助信息
-h <hostname> 連接遠程Hive Server,后續介紹
–hiveconf <property=value> 在命令行中設置Hive的運行時配置參數,優先級高于hive-site.xml,但低于Hive交互Shell中使用Set命令設置。
–hivevar <key=value> 同—define
-i <filename> 進入Hive交互Shell時候先執行filename中的HQL語句
-p <port> 連接遠程Hive Server的端口號
-S,–silent 靜默模式,指定后不顯示執行進度信息,最后只顯示結果
-v,–verbose 冗余模式,額外打印出執行的HQL語句

-d,–define <key=value>
定義一個變量值,這個變量可以在Hive交互Shell中引用,后面會介紹用法,比如:-d A=B

–database <databasename>
進入Hive交互Shell時候指定數據庫,默認進入default數據庫

-e <quoted-query-string>
命令行執行一段SQL語句

-f <filename>
filename文件中保存HQL語句,執行其中的語句

-H,–help
顯示幫助信息

-h <hostname>
連接遠程Hive Server,后續介紹

–hiveconf <property=value>
在命令行中設置Hive的運行時配置參數,優先級高于hive-site.xml,但低于Hive交互Shell中使用Set命令設置。

–hivevar <key=value>
同—define

-i <filename>
進入Hive交互Shell時候先執行filename中的HQL語句

-p <port>
連接遠程Hive Server的端口號

-S,–silent
靜默模式,指定后不顯示執行進度信息,最后只顯示結果

-v,–verbose
冗余模式,額外打印出執行的HQL語句

這里特別介紹一下以下幾個選項:
-d,–define <key=value>

執行$HIVE_HOME/bin/hive -d k1=v1 –database lxw1234
表示,定義了一個變量k1,值為v1,執行了數據庫為lxw1234
進入Hive交互Shell之后,可以使用${k1}來引用該變量,比如:
hive> select ‘${k1}’ from t_lxw1234 limit 1;
OK
v1
這里將k1的值v1打印出來。
–hiveconf <property=value>

可以使用該選項設定Hive的運行參數配置,相當于在Hive交互Shell中使用set命令進行設置,比如:
執行$HIVE_HOME/bin/hive –hiveconf mapred.reduce.tasks=20
進入交互Shell之后,運行的所有查詢都會設置20個reduce task。
除非又用set mapred.reduce.tasks=N;進行另外設定。
–hivevar <key=value>

用法同-d和—define

7.2 Hive交互Shell
Hive交互Shell指執行$HIVE_HOME/bin/hive之后,進入的有hive>提示符的交互式命令行,在這里可以執行查詢語句,設置參數等等,所有的命令必須以分號結束,具體有以下命令和選項:
quit

退出交互Shell
exit

退出交互Shell
reset

重置所有的Hive運行時配置參數,比如,之前使用set命令設置了reduce數量,使用reset之后,重置成hive-site.xml中的配置。
set <key>=<value>

設置Hive運行時配置參數,優先級最高,相同key,后面的設置會覆蓋前面的設置。
set –v

打印出所有Hive的配置參數和Hadoop的配置參數。
add命令

包括 add FILE[S] <filepath> <filepath>* 、 add JAR[S] <filepath> <filepath>* 、add ARCHIVE[S] <filepath> <filepath>*
向DistributeCache中添加一個或過個文件、jar包、或者歸檔,添加之后,可以在Map和Reduce task中使用。
比如,自定義一個udf函數,打成jar包,在創建函數之前,必須使用add jar命令,將該jar包添加,否則會報錯找不到類。

list 命令

包括 list FILE[S] 、list JAR[S] 、list ARCHIVE[S]
列出當前DistributeCache中的文件、jar包或者歸檔。
delete 命令

包括 delete FILE[S] <filepath>* 、delete JAR[S] <filepath>* 、 delete ARCHIVE[S] <filepath>*
從DistributeCache中刪除文件
! <command>

在交互Shell中執行Linux操作系統命令并打印出結果,不常用
比如:
hive> !pwd;
/home/lxw1234
dfs <dfs command>

在交互Shell中執行hadoop fs 命令,不常用
比如,統計hdfs文件系統中/tmp/目錄的總大?。?br> hive> dfs -du -s /tmp/;
54656194751 /tmp
<query string>

最常用的,執行HQL語句,以分號結尾;
source FILE <filepath>

在交互Shell中執行一個腳本,不常用。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 2.6. Hive 的交互方式 第一種交互方式 bin/hive 創建一個數據庫 第二種交互方式:使用sql語句或...
    你值得擁有更好的12138閱讀 10,964評論 0 4
  • Hive是什么 我們知道傳統數據存儲都是存儲在關系型數據庫中,它們使用一種SQL(結構化查詢語言)方言來查詢數據庫...
    零度沸騰_yjz閱讀 1,130評論 0 7
  • 1. Hive基本介紹和基礎: Facebook公司最早完成并開源了hive框架,可以將sql語句直接翻譯成Map...
    奉先閱讀 3,368評論 0 43
  • 2.1 Hive安裝地址 1)Hive官網地址: http://hive.apache.org/ 2)文檔查看地址...
    碼農GG閱讀 440評論 0 0
  • 一、初識Hive 1、Hive簡介 ??? (1) 什么是Hive? Hive是基于Hadoop的一個數據倉庫可以...
    oooon閱讀 2,498評論 0 1