一、向管理表中装载数据
Hive没有行级别的数据插入、更新和删除操作,往表中装载数据的唯一途径就是使用一种“大量”的数据装载操作。
LOAD:向表中装载数据
(1)把目录‘/usr/local/data’下的数据文件中的数据装载进usr表,并覆盖原有数据:LOAD DATA LOCAL INPATH ‘/usr/local/data’ OVERWRITE INTO TABLE usr;
(2)把目录‘/usr/local/data’下的数据文件中的数据装载进usr表, 不覆盖原有数据:LOAD DATA LOCAL INPATH ‘/usr/local/data’ INTO TABLE usr;
(3)把分布式文件系统目录'hdfs://master_server/usr/local/data’下的数据文件数据装载进usr表,并覆盖原有数据:LOAD DATA INPATH ‘hdfs://master_server/usr/local/data’ OVERWRITE INTO TABLE usr;
举例:
LOAD DATA LOCAL INPATH '${env:HOME}/california-employees' # ${env:HOME}表示HOME环境变量
INTO TABLE employees
PARTITION (country='US',state='CA');
如果分区目录不存在,会先创建分区目录,然后将数据拷贝到该目录下。
如果目标是非分区表,语句中应该省略PARTITION子句。
二、通过查询语句向表中插入数据
INS