hive零碎
发布日期:2021-09-30 09:33:21 浏览次数:11 分类:技术文章

本文共 720 字,大约阅读时间需要 2 分钟。

hive 不支持删除部分数据,我们可以用下面的语句达到类似的效果.

insert overwrite table hz.competition_tmp select * from hz.competition_tmp where event is not NULL;

insert into 和overwrite的用法:

INSERT INTO TABLE tablename1 [PARTITION \(partcol1=val1, partcol2=val2 ...)] \select statement1 FROM from_statement;
INSERT OVERWRITE TABLE tablename1 [PARTITION \(partcol1=val1, partcol2=val2 ...) [IF NOT EXISTS]] \select statement1 FROM from_statement;

两种方式的相同点:

1.两个表的维度必须一样,才能够正常写入

2.如果查询出来的数据类型和插入表格对应的列数据类型不一致,将会进行转换,但是不能保证转换一定成功,比如如果查询出来的数据类型为int,插入表格对应的列类型为string,可以通过转换将int类型转换为string类型;但是如果查询出来的数据类型为string,插入表格对应的列类型为int,转换过程可能出现错误,因为字母就不可以转换为int,转换失败的数据将会为NULL。

不同点:

1.insert into是增加数据

2.insert overwrite是删除原有数据然后在新增数据,如果有分区那么只会删除指定分区数据,其他分区数据不受影响

转载地址:https://blog.csdn.net/h_hzhou/article/details/51426904 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:跑步知识
下一篇:Shell编程实现随机函数

发表评论

最新留言

第一次来,支持一个
[***.219.124.196]2024年04月16日 02时57分32秒