大多数的Hadoop Job是需要Hadoop提供完整的可扩展性来处理大数据集的。不过,有时hive的输入数据量是非常小的。在这种情况下,为查询出发执行任务消耗的时间可能会比job的执行时间要多得多。对于大多数这种情况,hive可以通过本地模式在单台机器上处理所有的任务。对于小数据集,执行时间明显被缩短。
相关参数有3个:
(1)set hive.exec.mode.local.auto=true;
开启自动转换为本地模式。
(2)set hive.exec.mode.local.auto.inputbytes.max=50 000 000;
设置本地模式MapReduce的最大输入数据量,当输入数据量小于这个值时,采用本地模式MapReduce。默认为134 217 728,即128MB。
(3)set hive.exec.mode.local.auto.input.files.max=10;
设置本地模式MapReduce的最大输入文件个数,当输入文件个数小于这个值时采用本地模式MapReduce,默认为4。