在MR上有Hive2.1.1,表test_table
存储为顺序文件和以下临时查询:
select t.*
from test_table t
where t.test_column = 100
虽然可以在不启动MR (fetch任务)的情况下执行此查询,但有时扫描HDFS文件要花费更长的时间,而不是触发单个映射作业。
当我想执行MR执行时,我会使查询更加复杂:例如,使用distinct
。这种方法的主要缺点是:
在使用Hive时,是否有强制执行MR的推荐方法?
发布于 2020-06-23 14:13:28
单元执行程序根据以下设置(在默认情况下)决定执行map任务或获取任务:
select count(*) from src
这样的查询它提示我有以下两个选项:
由于某些原因,在我的情况下,降低阈值并没有改变任何事情,所以我支持第二种选择:似乎适合临时查询。
有关这些设置的更多详细信息可以在Cloudera论坛和蜂巢维基中找到。
发布于 2020-06-23 15:47:39
只需在查询之前添加set hive.execution.engine=mr;
,它将强制Hive使用MR. .
https://stackoverflow.com/questions/62536791
复制相似问题