insert into table 汇总表
select * from(
select ip, count(*) from A where dayid='**' group by ip
union all
select ip, count(*) from B where dayid='**' group by ip
union all
......
union all
select ip, count(*) from Z where dayid='**' group by ip
) as tmp;
HIVE里,请问像这样的语句要怎么优化?
里面UNION ALL的各项的源表都不相同的。
我觉得应该是可以并行执行的。但是,我设置并行不管用。
虽然一开始同时启动了8个JOB,但是,看日志,还是一个接一个的跑。并没用同时运行那8个。
set hive.exec.parallel=true;
set hive.exec.parallel.thread.number=8;
(我试了两种设置方式 : 执行INSERT 语句之前,先执行这两行脚本。以及, 修改HIVE的hive-site.xml配置)
设置JVM重用也没用。
set Mapred.Job.reuse.jvm.num.tasks = 5;
求指教。
PS:其实每个表的文件很小。我也不懂为什么非要上HADOOP。。。
(系统的推荐邀请,冒昧打扰)