小编给大家分享一下Hive中如何多次INSERT单次扫描表,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!
默认情况下,Hive会执行多次表扫描。因此,如果要在某张hive表中执行多个操作,建议使用一次扫描并使用该扫描来执行多个操作。
比如将一张表的数据多次查询出来装载到另外一张表中。如下面的示例,表my_table是一个分区表,分区字段为dt,如果需要在表中查询2个特定的分区日期数据,并将记录装载到2个不同的表中。
INSERT INTO temp_table_20201115 SELECT * FROM my_table WHERE dt ='2020-11-15';INSERT INTO temp_table_20201116 SELECT * FROM my_table WHERE dt ='2020-11-16';
在以上查询中,Hive将扫描表2次,为了避免这种情况,我们可以使用下面的方式:
FROM my_tableINSERT INTO temp_table_20201115 SELECT * WHERE dt ='2020-11-15'INSERT INTO temp_table_20201116 SELECT * WHERE dt ='2020-11-16'
这样可以确保只对my_table表执行一次扫描,从而可以大大减少执行的时间和资源。
看完了这篇文章,相信你对“Hive中如何多次INSERT单次扫描表”有了一定的了解,如果想了解更多相关知识,欢迎关注亿速云行业资讯频道,感谢各位的阅读!
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。
原文链接:https://mp.weixin.qq.com/s?__biz=MjM5ODI5Njc2MA==&mid=2655810289&idx=1&sn=afa9b348b848b3adad7f3c07a710f0f8&chksm=bd743f268a03b630b0f66af134caaa6f648538fb583a65d1a9cbcc8d512491ae12816bafb7af&mpshare=1&