我们在每日日期分区中有一个包含一年数据的表。每天有1000亿行。该表具有一个映射数据类型列,其中包含100000+个键值对。我需要的是基于两个地图列过滤器的min(date)。 YARN坚持为该查询确定多个映射器。当我调用查询时,只有超过30分钟以上的停留时间,我只会看到以下消息。然后我杀了工作。有没有一种方法可以优化和运行查询?
启动工作1之1 在编译时确定的reduce任务数:1 为了更改减速器的平均负载(以字节为单位): 设置hive.exec.reducers.bytes.per.reducer = 为了限制减速器的最大数量: 设置hive.exec.reducers.max = 为了设置恒定数量的减速器: 设置mapreduce.job.reduces =
Query:
select min(data_dt) from my_db.logs
where txttype = 'abcd'
and mapfields['page_name'] in ('a','b','c','d','e','d')
-- Total 50 page names
and mapfields['usedIn'] like '%Group%'
and (ctry like 'aa%' or ctry like 'bb%' or ctry like 'cc%')
;