我需要运行多个独立的insert语句来并行地将数据放入配置单元表中。各个命令如下:
hive -e "insert into fieldcounts select 'fname', count(*) from tab1 where fname is not null"
我有100个字段,所以我生成了100条insert语句。配置单元将每个insert作为自己的map reduce作业运行。我希望能够并行运行10-20条insert语句,以加快进程。
但是,我无法使用xargs或gnu并行实现这一点,甚至无法使用在后台运行的多个hive-e命令手动创建shell脚本。我注意到配置单元示例总是按顺序运行。
就好像一次执行一个配置单元命令就可以阻止所有其他配置单元命令一样。无论我尝试什么,命令都将按顺序运行。
还有其他人面对过吗?我的选择是什么?我可以强制一个单一的HiveMap减少,以实现我的尝试?有没有办法强制多个配置单元命令并行执行?
编辑:
谢谢斯蒂芬指出锁。所以我要修改这个问题。有没有一种机制让我告诉hive不要独占地锁定insert语句的目标表,这样我就可以并行地进行多个插入?最好我想作出决定时,使插入和不diable锁全球。
暂无答案!
目前还没有任何答案,快来回答吧!