更新时间:2024-08-03 GMT+08:00

加载数据到Hive表中

功能介绍

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

在启用了安全服务的集群中执行如下操作,需要在数据库中具有UPDATE权限及对加载数据文件具有owner权限和读写权限。

如果加载数据语句中有关键字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上指定表的目录下。