天天看點

55 Hive Shell參數

Hive指令行

文法結構:

hive [-hiveconf x=y]* [<-i filename>]* [<-f filename>|<-e query-string>] [-S]
      
  1. -i從檔案初始化HQL。
  2. -e從指令行執行指定的HQL
  3. -f 執行HQL腳本
  4. -v 輸出執行的HQL語句到控制台
  5. -p <port> connect to Hive Server on port number
  6. -hiveconf x=y Use this to set hive/hadoop configuration variables.

具體執行個體:

1、運作一個查詢

55 Hive Shell參數

2、運作一個檔案

55 Hive Shell參數

2、運作參數檔案

55 Hive Shell參數

Hive參數配置方式

Hive參數大全:

https://cwiki.apache.org/confluence/display/Hive/Configuration+Properties

開發Hive應用時,不可避免地需要設定Hive的參數。設定Hive的參數可以調優HQL代碼的執行效率,或幫助定位問題。然而實踐中經常遇到的一個問題是,為什麼設定的參數沒有起作用?這通常是錯誤的設定方式導緻的。

對于一般參數,有以下三種設定方式:

  • 配置檔案
  • 指令行參數
  • 參數聲明

配置檔案: Hive的配置檔案包括

  • 使用者自定義配置檔案:$HIVE_CONF_DIR/hive-site.xml
  • 預設配置檔案:$HIVE_CONF_DIR/hive-default.xml

使用者自定義配置會覆寫預設配置

另外,Hive也會讀入Hadoop的配置,因為Hive是作為Hadoop的用戶端啟動的,Hive的配置會覆寫Hadoop的配置。

配置檔案的設定對本機啟動的所有Hive程序都有效。

指令行參數: 啟動Hive(用戶端或Server方式)時,可以在指令行添加-hiveconf param=value來設定參數,例如:

bin/hive -hiveconf hive.root.logger=INFO,console

這一設定對本次啟動的Session(對于Server方式啟動,則是所有請求的Sessions)有效。

參數聲明: 可以在HQL中使用SET關鍵字設定參數,例如:

set mapred.reduce.tasks=100;
      

繼續閱讀