Hive中如何多次INSERT单次扫描表

发布时间:2022-03-11 13:50:41 作者:小新
来源:亿速云 阅读:473

小编给大家分享一下Hive中如何多次INSERT单次扫描表,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!

多次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_table
INSERT 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单次扫描表”有了一定的了解,如果想了解更多相关知识,欢迎关注亿速云行业资讯频道,感谢各位的阅读!

推荐阅读:
  1. oracle insert all 复合表插入
  2. 如何使用Python构造hive insert语句

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

hive insert

上一篇:docker容器之间通信的示例分析

下一篇:Hive中如何实现分区表

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》