0.7版本后Hive开始支持任务执行选择本地模式(local mode)。大多数的Hadoop job是需要hadoop提供的完整的可扩展性来处理大数据的。不过,有时hive的输入数据量是非常小的。在这种情况下,为查询出发执行任务的时间消耗可能会比实际job的执行时间要多的多。对于大多数这种情况,hive可以通过本地模式在单台机器上处理所有的任务。对于小数据集,执行时间会明显被缩短。

        如此一来,对数据量比较小的操作,就可以在本地执行,这样要比提交任务到集群执行效率要快很多。

配置如下参数,可以开启Hive的本地模式:
hive> set hive.exec.mode.local.auto=true;(默认为false)


当一个job满足如下条件才能真正使用本地模式:
1.job的输入数据大小必须小于参数:hive.exec.mode.local.auto.inputbytes.max(默认128MB)
2.job的map数必须小于参数:hive.exec.mode.local.auto.tasks.max(默认4)
3.job的reduce数必须为0或者1

实验1:未使用本地模式 

查询语句 select 1 from f_media_virtual ;

hive使用本地模式--set hive.exec.mode.local.auto=true;(默认为false)
实验2:使用本地模式

hive> set hive.exec.mode.local.auto=true; 
hive> set hive.exec.mode.local.auto.inputbytes.max=50000000;
hive> set hive.exec.mode.local.auto.tasks.max=10;

hive使用本地模式--set hive.exec.mode.local.auto=true;(默认为false)

相关文章:

  • 2021-11-11
  • 2021-08-25
  • 2021-11-10
  • 2022-12-23
  • 2022-03-06
  • 2021-08-15
  • 2021-08-24
  • 2021-07-01
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-11-14
  • 2022-12-23
  • 2021-07-22
相关资源
相似解决方案