LOAD DATA [LOCAL] INPATH 'filepath' [OVERWRITE] INTO TABLE tablename [PARTITION (partcol1=val1, partcol2=val2 ...)]
LOCAL:
LOAD DATA LOCAL … 从本地文件系统加载数据到Hive表中。本地文件会拷贝到Hive表指定的位置
LOAD DATA … 从HDFS加载数据到Hive表中。HDFS文件移动到Hive表指定的位置
INPATH:加载数据的路径
OVERWRITE:覆盖表中已有数据;否则表示追加数据
PARTITION:将数据加载到指定的分区
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
-- 创建表 CREATE TABLE tabA ( id int , name string , area string ) ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' ;
-- export 导出数据到HDFS。使用export导出数据时,不仅有数还有表的元数据信息 export table tabC to '/user/hadoop/data/tabC4';
-- export 导出的数据,可以使用 import 命令导入到 Hive 表中 -- 使用 like tname创建的表结构与原表一致。create ... as select ... 结构可能不一致,但是新建的表中有数据 create table tabE like tabc; import table tabE from /user/hadoop/data/tabC4';
-- 截断表,清空数据。(注意:仅能操作内部表) truncate table tabE;
-- 以下语句报错,外部表不能执行 truncate 操作 alter table tabC set tblproperties("EXTERNAL"="TRUE"); truncate table tabC;
小结
数据导入:load data / insert / create table … as select … / import table