hive提供三種可以改變環境變數的方法,分別是:(1)、修改$/conf/hive-site.xml配置檔案;(2)、命令列引數;(3)、在已經進入cli時進行引數宣告。下面分別來介紹這幾種設定。
方法一:
在hive中,所有的預設配置都在$/conf/hive-default.xml檔案中,如果需要對預設的配置進行修改,可以建立乙個hive-site.xml檔案,放在$/conf目錄下。裡面可以對一些配置進行個性化設定。在hive-site.xml設定:
所有的配置都是放在標籤之間,乙個configuration標籤裡面可以存在多個標籤。標籤裡面就是我們想要設定屬性的名稱;標籤裡面是我們想要設定的值;《標籤是描述在這個屬性的,可以不寫。絕大多少配置都是在xml檔案裡面配置的,因為在這裡做的配置都全域性使用者都生效,而且是永久的。使用者自定義配置會覆蓋預設配置。另外,hive也會讀入hadoop的配置,因為hive是作為hadoop的客戶端啟動的,hive的配置會覆蓋hadoop的配置。
方法二:
在啟動hive cli的時候進行配置,可以在命令列新增-hiveconf param=value來設定引數,例如:
[wyp@master ~]$ hive --hiveconf mapreduce.job.queuename=queue1
這樣在hive中所有mapreduce作業都提交到佇列queue1中。這一設定對本次啟動的會話有效,下次啟動需要重新配置。
方法三:
在已經進入cli時進行引數宣告,可以在hql中使用set關鍵字設定引數,例如:
hive> set mapreduce.job.queuename=queue1;
這樣也能達到方法二的效果。這種配置也是對本次啟動的會話有效,下次啟動需要重新配置。在hql中使用set關鍵字還可以檢視配置的值,如下:
hive> set mapreduce.job.queuename;
mapreduce.job.queuename=queue1
我們可以得到mapreduce.job.queuename=queu e1。如果set後面什麼都不新增,這樣可以查到hive的所有屬性配置,如下:
hive> set;
datanucleus.autocreateschema=true
datanucleus.autostartmechanismmode=checked
datanucleus.cache.level2=false
datanucleus.cache.level2.type=none
datanucleus.connectionpoolingtype=dbcp
datanucleus.identifie***ctory=datanucleus
datanucleus.plugin.pluginregistrybundlecheck=log
datanucleus.storemanagertype=rdbms
datanucleus.transactionisolation=read-committed
datanucleus.validatecolumns=false
datanucleus.validateconstraints=false
datanucleus.validatetables=false
............................
上述三種設定方式的優先順序依次遞增。即引數宣告覆蓋命令列引數,命令列引數覆蓋配置檔案設定。
使用者通過beeline連線hiveserver2後的佇列選取,預設情況下受公平排程策略的影響,如果想通過hive-site.xml或者mapred-site.xml中指定mapreduce.job.queuename,有乙個非常簡單的辦法就是將屬性值hive.server2.map.fair.scheduler.queue(confvars.hive_server2_map_fair_scheduler_queue)置為false,可以在hive-site.xml中指定或或者啟動hiveserver2時通過引數指定,這樣hiveserver2佇列的選取就不再受公平排程策略的影響。
spark 設定佇列
spark-shell --master yarn --queue wa
spark-submit --master yarn --queue wa
Hive 設定map 和 reduce 的個數
一 控制hive任務中的map數 1.通常情況下,作業會通過input的目錄產生乙個或者多個map任務。主要的決定因素有 input的檔案總個數,input的檔案大小,集群設定的檔案塊大小 目前為128m,可在hive中通過set dfs.block.size 命令檢視到,該引數不能自定義修改 2....
Hive 設定map 和 reduce 的個數
一 控制hive任務中的map數 1.通常情況下,作業會通過input的目錄產生乙個或者多個map任務。主要的決定因素有 input的檔案總個數,input的檔案大小,集群設定的檔案塊大小 目前為128m,可在hive中通過set dfs.block.size 命令檢視到,該引數不能自定義修改 2....
Hive 設定map 和 reduce 的個數
hive 設定map 和 reduce 的個數 一 控制hive任務中的map數 通常情況下,作業會通過input的目錄產生乙個或者多個map任務。主要的決定因素有 input的檔案總個數,input的檔案大小,集群設定的檔案塊大小 目前為128m,可在hive中通過set dfs.block.si...