永发信息网

hive insert into 插入数据后表中原来的数据丢失了

答案:3  悬赏:40  手机版
解决时间 2021-03-12 01:32
  • 提问者网友:niaiwoma
  • 2021-03-11 12:08
我想要对一个表进行插入操作,这里面原本是有数据的,然后我用

insert into table_a
select * from table_b;
完成后查询有table_b的数据
然后
insert into table_a
select * from table_c;
在查询,发现table_b的数据不见了,只有table_c的数据了。
我打开了两个hive来插入的,先把table_b的插入完成后,再插入table_c的数据,请问这是怎么回事啊。
最佳答案
  • 五星知识达人网友:煞尾
  • 2021-03-11 13:18
您好,问下您是否在表名加了这种``号?
如果是建议你使用以下这种方式处理转义字符,可以正常insert into`DatabaseName`.`TableName`
例如,insert into `db`.`tableA` select t.a, t.b from tableB t
问题原因:使用`DatabaseName.TableName`时语法解析为OVERWRITE,该问题为apache社区问题。在当前版本的hive中还未修复。
全部回答
  • 1楼网友:第四晚心情
  • 2021-03-11 14:43
从文件加载数据进表(overwrite覆盖,追加不需要overwrite关键字) load data local inpath 'dim_csl_rule_config.txt' overwrite into table dim.dim_csl_rule_config; --从查询语句给table插入数据 insert overwrite table test_h02_click_log partition(dt) select * from stage.s_h02_click_log where dt='2014-01-22' limit 100;
  • 2楼网友:雪起风沙痕
  • 2021-03-11 13:38
目测你这个在插入之前估计重新创建过表吧!!
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯