Hive表加载数据的两种方式

第一种为insert

insert overwrite table mytable partition (dt='20150617') select ....

上面这个语句是hive的insert语句,和数据库的sql相同点是同样使用insert向表中插入数据
插入时注意overwrite为覆盖,into为追加
同样应该注意hive的insert语句必须有table这个关键字,而普通数据库直接写表面就行,且如果是分区表需要在表名后跟分区的指定,且追加表与查询结果列名必须相同,不同时要其别名,不然会报错的

insert语句常用作hive的表与表之间数据的交互

第二种为load

LOAD DATA LOCAL INPATH '/path' OVERWRITE  INTO TABLE mytable PARTITION (dt='20200901')

load语句的特点是使用方便,但是数据的样式上没有insert语句灵活

load语句是用来加载本地或hdfs上的文件的,其中LOCAl就是本地的意思,如果你要加载hdfs上的数据把LOCAL去掉就好

OVERWRITE 同样是覆盖的意思,如果你只是要追加写去掉它就好

load语句在你加载文件夹的时候如果下面有同名文件,那么会被从命名的

切记

无论哪种方式加载数据,如果不是分区表,那么就不要有分区的关键字

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值