📅  最后修改于: 2023-12-03 14:41:43.854000             🧑  作者: Mango
在Hive中,我们可以使用LOAD DATA
命令将数据从外部存储加载到Hive表中。这是非常有用的,因为我们可以使用Hive的查询功能来处理这些数据。
LOAD DATA [LOCAL] INPATH 'filepath'
[OVERWRITE]
INTO TABLE tablename [PARTITION (partition_key1=value1, partition_key2=value2 ...)]
其中:
LOCAL
:表示文件在本地文件系统中,省略该参数表示文件在HDFS中。INPATH 'filepath'
:表示数据文件的路径。OVERWRITE
:如果表中已存在数据,则使用该参数覆盖原有数据。INTO TABLE tablename
:表示数据将加载到的表名。PARTITION
:如果表是分区的,则可以指定要加载到的分区。假设我们有一个HDFS上的数据文件/user/hive/data/employees.txt
,格式如下:
101,John,Doe
102,Jane,Smith
103,Bob,Johnson
我们可以使用以下命令将数据加载到名为employees
的Hive表中:
LOAD DATA INPATH '/user/hive/data/employees.txt' OVERWRITE INTO TABLE employees;
这将在Hive中创建一个名为employees
的表,并将数据从/user/hive/data/employees.txt
加载到该表中。
如果在表中定义了分区,您可以在LOAD DATA
中使用PARTITION
参数将数据加载到指定的分区中。
例如,如果我们有一个分区的表employees
,分区键是hire_date
,我们可以使用以下命令将数据加载到名为2022-07-01
的分区中:
LOAD DATA INPATH '/user/hive/data/employees_new.txt' INTO TABLE employees PARTITION (hire_date='2022-07-01');
这将把位于/user/hive/data/employees_new.txt
中的数据加载到employees
表的hire_date=2022-07-01
分区中。