Hive insert into 竟然覆蓋了原來(lái)的數(shù)據(jù)
問(wèn)題:在使用hive的insert into 往表里插入數(shù)據(jù)時(shí) ,卻發(fā)現(xiàn)原來(lái)的數(shù)據(jù)被覆蓋了。如下圖,如論insert 語(yǔ)句執(zhí)行多少次,只會(huì)有最新的一條數(shù)據(jù)。(情況跟overwrite一樣)

經(jīng)過(guò)多次查找原因,才知道時(shí)因?yàn)轱h號(hào)的原因,去掉飄號(hào)就可以了

總結(jié):
所以要么用戶名和表名分別都加飄號(hào),要么就都別加,不要用戶名和表名都放在一個(gè)飄號(hào)里
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' ; --原來(lái)數(shù)據(jù)被覆蓋,效果同overwrite
在網(wǎng)上找到這樣的解釋:
如果是建議你使用以下這種方式處理轉(zhuǎn)義字符,可以正常insert into`DatabaseName`.`TableName`
例如,insert into `db`.`tableA` select t.a, t.b from tableB t
問(wèn)題原因:使用`DatabaseName.TableName`時(shí)語(yǔ)法解析為OVERWRITE,該問(wèn)題為apache社區(qū)問(wèn)題。在當(dāng)前版本的hive中還未修復(fù)。

浙公網(wǎng)安備 33010602011771號(hào)