Hive和Spark設定佇列的方法

2021-08-26 02:53:32 字數 2128 閱讀 8299

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...