相关知识
之前系列实训中我们接触过导入本地文件到Hive
表中,本关就进行导入的详细讲解。
为了完成本关任务,你需要掌握:1.导入命令语法,2.如何将本地txt
文件导入到分区表中。
导入命令语法
Load
操作执行copy/move
命令把数据文件copy/move
到Hive
表位于 HDFS
上的目录位置,并不会对数据内容执行格式检查或格式转换操作。Load
命令语法为:
LOAD DATA [LOCAL] INPATH 'filepath' [OVERWRITE] INTO TABLE tablename [PARTITION (partcol1=vall,partcol2=val2 …)];
文件路径filepath
可以是指向HDFS
的相对路径或是绝对路径,也可以是指向本地文件系统(Linux
文件系统)相对路径(当前工作目录)或绝对路径。
若filepath
指向HDFS
,LOAD
执行的是move
操作(即执行LOAD
后filepath
中的文件不再存在);若filepath
指向本地文件系统,LOAD
执行的是copy
操作(即执行LOAD
后filepath
中的文件仍然存在),但需要指定LOCAL
关键字。
若filepath
指向一个文件,LOAD
会copy
或move
相应的文件到表tablename
;若filepath
指向一个目录,LOAD
会copy
或move
相应目录下的所有文件到表tablename
。若创建表时指定了分区列,使用 LOAD 命令加载数据