分享

关于hive中insert into values()

在hive1.2.1中,
(要么这是一个bug,要么,hive底层在实现用insert语法插入数据时先是创建临时表(只放于缓存中,不在hdfs上),再把数据复制到目标表)
hive default> insert into test1(id,name,deptno) values(1,'testname1','1');
hive> insert into test1(id,name,deptno) values(2,'testname2','2');
hive> insert into test1(id,name,deptno) values(3,'testname3','3');
hive> insert into test1(id,name,deptno) values(4,'testname4','4');
hive> insert into test1(id,name,deptno) values(5,'testname5','5');
hive> show tables;
OK
page_views
test1
values__tmp__table__1
values__tmp__table__2
values__tmp__table__3
values__tmp__table__4
values__tmp__table__5
win1
win2
win3
重启客户端后消失

已有(5)人评论

跳转到指定楼层
langke93 发表于 2017-1-19 12:26:15
元数据是用的mysql还是derby.
derby存在这么个问题
回复

使用道具 举报

zhuqitian 发表于 2017-1-19 12:45:41
[quote][url=forum.php?mod=redirect&goto=findpost&pid=209909&ptid=20833]langke93 鍙戣〃浜
回复

使用道具 举报

zhuqitian 发表于 2017-1-19 13:48:40
langke93 发表于 2017-1-19 12:26
元数据是用的mysql还是derby.
derby存在这么个问题

mysql也是一样的
回复

使用道具 举报

tntzbzc 发表于 2017-1-19 15:03:56
楼主对的,使用insert确实会产生临时表,重新连接后会消失。
如果大批量的数据,不建议insert,可采用其他方法如streaming write
回复

使用道具 举报

zhuqitian 发表于 2017-1-19 17:03:50
tntzbzc 发表于 2017-1-19 15:03
楼主对的,使用insert确实会产生临时表,重新连接后会消失。
如果大批量的数据,不建议insert,可采用其他 ...

愿意的话加q一起研究spark284678311

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条