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语句在你加载文件夹的时候如果下面有同名文件,那么会被从命名的

切记

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

猜你喜欢

转载自blog.csdn.net/dudadudadd/article/details/113129061