📜  Hive – 将数据加载到表中(1)

📅  最后修改于: 2023-12-03 14:41:43.854000             🧑  作者: Mango

Hive - 将数据加载到表中

在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分区中。