Hive导入数据有四种方式:
1、从本地文件系统导入数据
2、从HDFS中导入数据
3、从其他的Hive表中导入数据
4、创建表的同时导入数据(CTAS结构)
在使用导入数据时,通常会用到INTO和OVERWRITE INTO两个关键字。其中,INTO是在当前表追加数据,而OVERWRITE INTO则是覆盖当前表的数据。
一、从本地系统导入数据
在使用从本地系统导入数据到Hive表中时,本地文件的路径必须使用绝对路径:
1 |
LOAD DATA LOCAL INPATH '/home/hadoop/hive/load_local_data_into_hive.txt' INTO TABLE test; |
二、从HDFS中导入数据
把LOCAL去掉就是从HDFS导入数据:
1 |
LOAD DATA INPATH '/user/temp/load_hdfs_data_into_hive.txt' INTO TABLE test; |
LOAD DATA时,HDFS文件系统中的文件将被移动到Hive的warehouse(托管表)或外部表LOCATION指定的路径中。
三、从其他的Hive表中导入数据
这种方式要求目标表和源表都必须存在:
1 |
INSERT INTO TABLE dest SELECT * FROM source; |
四、创建表的同时导入数据(CTAS结构)
这种方式的创建表的表结构来自于SELECT查询语句的查询字段:
1 2 3 |
CREATE TABLE test AS SELECT * FROM source; |
转载时请保留出处,违法转载追究到底:进城务工人员小梅 » Hive导入数据的四种方式