更新时间:2024-06-27 GMT+08:00
分享

加载数据到Hive表中

功能介绍

本小节介绍了如何使用HQL向已有的表employees_info中加载数据。从本节中可以掌握如何从本地文件系统、MRS集群中加载数据。以关键字LOCAL区分数据源是否来自本地。

在启用了安全服务的集群中执行如下操作,需要在数据库中具有UPDATE权限及对加载数据文件具有owner权限和读写权限,详情请参见Hive应用开发概述

如果加载数据语句中有关键字LOCAL,表明从本地加载数据,除要求对相应表的UPDATE权限外,还要求该数据在当前连接的HiveServer节点上,加载用户对数据路径“PATH”具有读权限,且以omm用户能够访问该数据文件。

如果加载数据语句中有关键字OVERWRITE,表示加载的数据会覆盖表中原有的数据,否则加载的数据会追加到表中。

样例代码

-- 从本地文件系统/opt/hive_examples_data/目录下将employee_info.txt加载进employees_info表中.
---- 用新数据覆盖原有数据 
LOAD DATA LOCAL INPATH '/opt/hive_examples_data/employee_info.txt' OVERWRITE INTO TABLE employees_info; 
---- 保留原有数据,将新数据追加到表中
LOAD DATA LOCAL INPATH '/opt/hive_examples_data/employee_info.txt' INTO TABLE employees_info;
 
-- 从HDFS上/user/hive_examples_data/employee_info.txt加载进employees_info表中. 
---- 用新数据覆盖原有数据
LOAD DATA INPATH '/user/hive_examples_data/employee_info.txt' OVERWRITE INTO TABLE employees_info; 
---- 保留原有数据,将新数据追加到表中
LOAD DATA INPATH '/user/hive_examples_data/employee_info.txt' INTO TABLE employees_info;   

加载数据的实质是将数据复制到HDFS上指定表的目录下。

样例数据

employees_info的数据如下:

1,Wang,R,8000.01,person&personal^Btype&income^Btax&0.05,Country1:City1,2014
3,Tom,D,12000.02,person&personal^Btype&income^Btax&0.09,Country2:City2,2014
4,Jack,D,24000.03,person&personal^Btype&income^Btax&0.05,Country3:City3,2014
6,Linda,D,36000.04,person&personal^Btype&income^Btax&0.05,Country4:City4,2014
8,Zhang,R,9000.05,person&personal^Btype&income^Btax&0.05,Country5:City5,2014

employees_contact的数据如下:

1,135 XXXX XXXX,xxxx@xx.com
3,159 XXXX XXXX,xxxxx@xx.com.cn
4,186 XXXX XXXX,xxxx@xx.org
6,189 XXXX XXXX,xxxx@xxx.cn
8,134 XXXX XXXX,xxxx@xxxx.cn

employees_info_extended的数据如下:

1,Wang,135 XXXX XXXX,xxxx@xx.com,R,8000.01,person&personal^Btype&income^Btax&0.05,Country1:City1,2014
3,Tom,159 XXXX XXXX,xxxxx@xx.com.cn,D,12000.02,person&personal^Btype&income^Btax&0.09,Country2:City2,2014
4,Jack,186 XXXX XXXX,xxxx@xx.org,D,24000.03,person&personal^Btype&income^Btax&0.05,Country3:City3,2014
6,Linda,189 XXXX XXXX,xxxx@xxx.cn,D,36000.04,person&personal^Btype&income^Btax&0.05,Country4:City4,2014
8,Zhang,134 XXXX XXXX,xxxx@xxxx.cn,R,9000.05,person&personal^Btype&income^Btax&0.05,Country5:City5,2014

相关文档