hive的常見屬性配置
Hive資料倉庫位置配置
(1)Default資料倉庫的最原始位置是在hdfs上的:/user/hive/warehouse路徑下
(2)在倉庫目錄下,沒有對預設的資料庫default建立資料夾。如果某張表屬於default資料庫,直接在資料倉庫目錄下建立一個資料夾。
(3)修改default資料倉庫原始位置(將hive-default.xml.template如下配置資訊拷貝到hive-site.xml檔案中)
<property> <name>hive.metastore.warehouse.dir</name> <value>/user/hive/warehouse</value> <description>location of default database for the warehouse</description> </property>
顯示當前資料庫,以及查詢表的頭資訊配置
在hive-site.xml檔案中新增如下配置資訊,就可以實現顯示當前資料庫,以及查詢表的頭資訊配置。
<property> <name>hive.cli.print.header</name> <value>true</value> </property> <property> <name>hive.cli.print.current.db</name> <value>true</value> </property>
修改後
hive (default)> use hive;
OK
Time taken: 0.059 seconds
hive (hive)>
Hive執行日誌資訊配置
hive的日誌預設放在當前使用者名稱的目錄下
[[email protected] root]# pwd
/tmp/root
修改hive的log存放日誌到/opt/module/hive/logs
修改/opt/module/hive/conf/hive-log4j.properties.template檔名稱為hive-log4j.properties
[[email protected] conf]# mv hive-log4j.properties.template hive-log4j.properties
在hive-log4j.properties檔案中修改log存放位置
hive.log.dir=/opt/module/hive/logs
引數配置方式
檢視當前所有的配置資訊
hive (default)> set;
引數的配置三種方式及優先順序
(1)配置檔案方式
預設配置檔案:hive-default.xml
使用者自定義配置檔案:hive-site.xml
注意:使用者自定義配置會覆蓋預設配置。另外,Hive也會讀入Hadoop的配置,因為Hive是作為Hadoop的客戶端啟動的,Hive的配置會覆蓋Hadoop的配置。配置檔案的設定對本機啟動的所有Hive程序都有效。
(2)命令列引數方式
啟動Hive時,可以在命令列新增-hiveconf param=value來設定引數。
例如:
[[email protected] hive]$ bin/hive -hiveconf mapred.reduce.tasks=10;
注意:僅對本次hive啟動有效
檢視引數設定:
hive (default)> set mapred.reduce.tasks;
(3)引數宣告方式
可以在HQL中使用SET關鍵字設定引數
例如:
hive (default)> set mapred.reduce.tasks=100;
注意:僅對本次hive啟動有效。
檢視引數設定
hive (default)> set mapred.reduce.tasks;
上述三種設定方式的優先順序依次遞增。即配置檔案<命令列引數<引數宣告。注意某些系統級的引數,例如log4j相關的設定,必須用前兩種方式設定,因為那些引數的讀取在會話建立以前已經完成了。