加载Hive数据
功能介绍
本小节介绍了如何使用HQL向已有的表employees_info中加载数据。从本节中可以掌握如何从集群中加载数据。
样例代码
-- 从本地文件系统/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; -- 从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;
加载数据的实质是将数据拷贝到HDFS上指定表的目录下。
“LOAD DATA LOCAL INPATH”命令可以完成从本地文件系统加载文件到Hive的需求,但是当指定“LOCAL”时,这里的路径指的是当前连接的“HiveServer”的本地文件系统的路径,同时由于当前的“HiveServer”是集群式部署的,客户端在连接时是随机连接所有“HiveServer”中的一个,需要注意当前连接的“HiveServer”的本地文件系统中是否存在需要加载的文件。在无法确定当前连接的是哪一个“HiveServer”的情况下建议在所有的“HiveServer”对应路径下放置相应文件,并注意文件的权限是否正确。