Hiveinsertinto竟然覆盖了原来的数据
问题:在使⽤hive的insert into 往表⾥插⼊数据时,却发现原来的数据被覆盖了。如下图,如论insert 语句执⾏多少次,只会有最新的⼀条数据。(情况跟overwrite⼀样)
经过多次查原因,才知道时因为飘号的原因,去掉飘号就可以了
总结:
所以要么⽤户名和表名分别都加飘号,要么就都别加,不要⽤户名和表名都放在⼀个飘号⾥
insert into  `wf`.`insert_test_2` partition(dt='2020-07-01')  select'uiyo1234','20210701256811','2020-07-01' ;  --正常insert
insert into  wf.insert_test_2 partition(dt='2020-07-01')  select'uiyo1234','20210701256811','2020-07-01' ;      --正常insert
insert into  `wf`.`insert_test_2` partition(dt='2020-07-01')  select'uiyo1234','20210701256811','2020-07-01' ;  --原来数据被覆盖,效果同overwrite
在⽹上到这样的解释:
如果是建议你使⽤以下这种⽅式处理转义字符,可以正常insert into`DatabaseName`.`TableName`
insert的固定搭配例如,insert into `db`.`tableA` select t.a, t.b from tableB t
问题原因:使⽤`DatabaseName.TableName`时语法解析为OVERWRITE,该问题为apache社区问题。在当前版本的hive中还未修复。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。