1

Hive insert into 竟然覆盖了原来的数据

 

 

本文章向大家介绍Hive insert into 竟然覆盖了原来的数据,主要包括Hive insert into 竟然覆盖了原来的数据使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
 

问题:在使用hive的insert into 往表里插入数据时 ,却发现原来的数据被覆盖了。如下图,如论insert 语句执行多少次,只会有最新的一条数据。(情况跟overwrite一样)

经过多次查找原因,才知道时因为飘号的原因,去掉飘号就可以了

 总结:

所以要么用户名和表名分别都加飘号,要么就都别加,不要用户名和表名都放在一个飘号里

insert into  `wfbmal`.`insert_test_2` partition(dt='2020-07-01')  select 'uiyo1234','20210701256811','2020-07-01' ;   --正常insert
insert into   wfbmal.insert_test_2 partition(dt='2020-07-01')  select 'uiyo1234','20210701256811','2020-07-01' ;      --正常insert

insert into  `wfbmal`.`insert_test_2` partition(dt='2020-07-01')  select 'uiyo1234','20210701256811','2020-07-01' ;   --原来数据被覆盖,效果同overwrite

在网上找到这样的解释:

如果是建议你使用以下这种方式处理转义字符,可以正常insert into`DatabaseName`.`TableName`
例如,insert into `db`.`tableA` select t.a, t.b from tableB t
问题原因:使用`DatabaseName.TableName`时语法解析为OVERWRITE,该问题为apache社区问题。在当前版本的hive中还未修复。

 
 

原文地址:https://www.cnblogs.com/cstark/p/15035680.html

posted @ 2024-02-20 17:56  萌哥-爱学习  阅读(102)  评论(0编辑  收藏  举报