多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
[TOC] # 简介 大多数的hadoop job是需要hadoop提供的完整的可扩展性来处理大数据集的. 不过,有时hive的输入数据量是非常小的.在这种情况下,为查询触发执行任务消耗的时间可能会比实际job的执行时间要多的多. 对于大多数这种情况,**hive可通过本地模式在单台机器上处理所有的任务**. 对于小数据集,执行时间可以明显被缩短 # 配置 用户可以设置hive.exec.mode.local.auto的值为true,来让hive在适当的时候自动启动这个优化 ~~~ //开启本地mr set hive.exec.mode.local.auto=true; //设置local mr的最大输入数据量,当输入数据量小于这个值时采用local mr的方式,默认为134217728,即128M set hive.exec.mode.local.auto.inputbytes.max=50000000; //设置local mr的最大输入文件个数,当输入文件个数小于这个值时采用local mr的方式,默认为4 set hive.exec.mode.local.auto.input.files.max=10; ~~~ # 案例 1. 开启本地模式,并执行查询语句 ~~~ hive> set hive.exec.mode.local.auto=true; hive> select * from emp cluster by deptno; ~~~ 看下查询时间Time taken 2. 关闭本地模式,并执行查询语句 ~~~ hive> set hive.exec.mode.local.auto=true; hive> select * from emp cluster by deptno; ~~~ 看下查询时间Time taken