Hive MR和Tez 启用Local模式

1.说明  

启动local模式,就是让hive的任务不运行在yarn上面。直接当前的服务器执行

2.优点

当我们对Hive的源码进行Debug,且代码需要Debug到每个task内部时,如果任务是执行在yarn模式的话,那么是无法打断点的,需要进入local模式才能打断点

3.MR

当引擎为MR时,需要修改以下参数,可以修改配置文件hive-site.xml,也可以通过set来生效

3.1 hive-site.xml

<property>
      <name>hive.exec.mode.local.auto</name>
      <value>true</value>
</property>
<property>
      <name>hive.exec.mode.local.auto.inputbytes.max</name>
      <value>134217728</value>
</property>
<property>
      <name>hive.exec.mode.local.auto.input.files.max</name>
      <value>10</value>
</property>

3.2 set模式

-- 是否开启local模式
set hive.exec.mode.local.auto=true;
-- 输入最大数据量,默认128MB
set hive.exec.mode.local.auto.inputbytes.max=134217728;
-- 最大任务数
set hive.exec.mode.local.auto.input.files.max=10;

4.Tez

当引擎为Tez时,需要修改tez的配置文件tez-site.xml,如果通过set来执行将不生效

4.1 tez-site.xml

<property>
      <name>tez.local.mode</name>
      <value>true</value>
</property>
<property>
      <name>tez.grouping.split-count</name>
      <value>1</value>
</property>

说明:tez.grouping.split-count和上面的hive.exec.mode.local.auto.input.files.max类似