hive提供的幾種使用者互動介面中,最常用的就是命令列介面。本文簡單介紹一下hive命令列介面(hive command line)及hive互動shell(hive interactive shell)的一些使用。
輸入$hive_home/bin/hive –h 或者 –help可以顯示幫助選項:
-d,–define定義乙個變數值,這個變數可以在hive互動shell中引用,後面會介紹用法,比如:-d a=b
–database
進入hive互動shell時候指定資料庫,預設進入default資料庫
-e 命令列執行一段sql語句
-f filename檔案中儲存hql語句,執行其中的語句
-h,–help
顯示幫助資訊
-h 連線遠端hive server,後續介紹
–hiveconf在命令列中設定hive的執行時配置引數,優先順序高於hive-site.xml,但低於hive互動shell中使用set命令設定。
–hivevar同—define
-i 進入hive互動shell時候先執行filename中的hql語句
-p 連線遠端hive server的埠號
-s,–silent
靜默模式,指定後不顯示執行進度資訊,最後只顯示結果
-v,–verbose
冗餘模式,額外列印出執行的hql語句
這裡特別介紹一下以下幾個選項:
執行$hive_home/bin/hive -d k1=v1 –database lxw1234
表示,定義了乙個變數k1,值為v1,執行了資料庫為lxw1234
進入hive互動shell之後,可以使用$來引用該變數,比如:
hive> select 『$』 from t_lxw1234 limit 1;
okv1
這裡將k1的值v1列印出來。
可以使用該選項設定hive的執行引數配置,相當於在hive互動shell中使用set命令進行設定,比如:
執行$hive_home/bin/hive –hiveconf mapred.reduce.tasks=20
進入互動shell之後,執行的所有查詢都會設定20個reduce task。
除非又用set mapred.reduce.tasks=n;進行另外設定。
用法同-d和—define
hive互動shell指執行$hive_home/bin/hive之後,進入的有hive>提示符的互動式命令列,在這裡可以執行查詢語句,設定引數等等,所有的命令必須以分號結束,具體有以下命令和選項:
退出互動shell
退出互動shell
重置所有的hive執行時配置引數,比如,之前使用set命令設定了reduce數量,使用reset之後,重置成hive-site.xml中的配置。
設定hive執行時配置引數,優先順序最高,相同key,後面的設定會覆蓋前面的設定。
列印出所有hive的配置引數和hadoop的配置引數。
包括 add file[s] * 、 add jar[s] * 、add archive[s] *
向distributecache中新增乙個或過個檔案、jar包、或者歸檔,新增之後,可以在map和reduce task中使用。
比如,自定義乙個udf函式,打成jar包,在建立函式之前,必須使用add jar命令,將該jar包新增,否則會報錯找不到類。
包括 list file[s] 、list jar[s] 、list archive[s]
列出當前distributecache中的檔案、jar包或者歸檔。
包括 delete file[s] * 、delete jar[s] * 、 delete archive[s] *
從distributecache中刪除檔案
在互動shell中執行linux作業系統命令並列印出結果,不常用
比如:hive> !pwd;
/home/lxw1234
在互動shell中執行hadoop fs 命令,不常用
比如,統計hdfs檔案系統中/tmp/目錄的總大小:
hive> dfs -du -s /tmp/;
54656194751 /tmp
最常用的,執行hql語句,以分號結尾;
在互動shell中執行乙個指令碼,不常用。
一起學Hive 之八 使用Hive命令列
hive提供的幾種使用者互動介面中,最常用的就是命令列介面。本文簡單介紹一下hive命令列介面 hive command line 及hive互動shell hive interactive shell 的一些使用。輸入 hive home bin hive h 或者 help可以顯示幫助選項 d,...
一起學Hive 之六 Hive的動態分割槽
前面文章介紹了hive中是支援分割槽的。關係型資料庫 如oracle 中,對分割槽表insert資料時候,資料庫自動會根據分割槽欄位的值,將資料插入到相應的分割槽中,hive中也提供了類似的機制,即動態分割槽 dynamic partition 只不過,使用hive的動態分割槽,需要進行相應的配置。...
一起學Hive 之六 Hive的動態分割槽
hive hive動態分割槽 前面文章介紹了hive中是支援分割槽的。關係型資料庫 如oracle 中,對分割槽表insert資料時候,資料庫自動會根據分割槽欄位的值,將資料插入到相應的分割槽中,hive中也提供了類似的機制,即動態分割槽 dynamic partition 只不過,使用hive的動...