Hive import/export使用总结

本文总结了Hive数据迁移的应用场景和操作方法,包括简单表及分区表的导出、导入,以及内部表到外部表的转换。适用于在不同集群间进行数据迁移的需求。

应用场景:

数据迁移:Hive中的数据表要迁移到另一套集群上,使用导入导出命令操作

官网语法:

EXPORT TABLE tablename [PARTITION (part_column="value"[, ...])]
  TO 'export_target_path' [ FOR replication('eventid') ]

IMPORT [[EXTERNAL] TABLE new_or_original_tablename [PARTITION (part_column="value"[, ...])]]
  FROM 'source_path'
  [LOCATION 'import_target_path']

简单表的导入导出:

export table emp to '/user/hive/warehouse/exp_emp';
#导出的数据包括"_metadata"和"data"两个目录
import from '/user/hive/warehouse/exp_emp';

简单表的导出、改名导入:

export table emp to '/user/hive/warehouse/exp_emp';
import table rename_emp from '/user/hive/warehouse/exp_emp';

分区表的导入导出:

export table emp_partition 
 partition (deptno="10") 
 to '/user/hive/warehouse/exp_emp_part';
import fr
### 作用 - **Load**:用于将数据加载到 Hive 表中。可以从本地文件系统或 HDFS 加载数据到 Hive 的管理表或外部表。例如,将本地文件 `data.txt` 加载到 Hive 表 `my_table` 中: ```sql LOAD DATA LOCAL INPATH 'data.txt' INTO TABLE my_table; ``` - **Insert**:主要用于向 Hive 表中插入数据。可以通过查询语句将查询结果插入到目标表,也可将数据插入到文件系统的指定目录。例如,将 `table1` 的查询结果插入到 `table2`: ```sql INSERT INTO TABLE table2 SELECT * FROM table1; ``` 还可以使用 `INSERT OVERWRITE DIRECTORY` 将查询结果导出到指定目录: ```sql insert overwrite local directory '/tmp/out1' select * from table1; ``` - **Export**:用于将 Hive 表的数据和元数据导出到指定的 HDFS 路径。导出后的数据可以在其他 Hive 环境中使用 `IMPORT` 导入。示例: ```sql EXPORT TABLE student TO '/user/hive/warehouse/export/student'; ``` - **Import**:用于将之前使用 `EXPORT` 导出的数据和元数据导入到指定的 Hive 表中。示例: ```sql IMPORT TABLE student FROM '/user/hive/warehouse/export/student'; ``` ### 区别 - **操作对象**: - `Load` 和 `Insert` 主要操作的是 Hive 表,向表中添加数据。 - `Export` 和 `Import` 操作的是数据和元数据,用于在不同 Hive 环境间迁移表。 - **数据来源与去向**: - `Load` 是从文件系统(本地或 HDFS)将数据加载到 Hive 表。 - `Insert` 可以从查询结果插入到表,也可将查询结果导出到文件系统目录。 - `Export` 是将 Hive 表的数据和元数据导出到 HDFS 路径。 - `Import` 是将 HDFS 路径下导出的数据和元数据导入到 Hive 表。 - **数据处理方式**: - `Load` 只是简单地将数据文件移动或复制到表的数据存储位置。 - `Insert` 会执行查询语句,并将查询结果插入到目标表或导出到目录。 - `Export` 会将表的元数据和数据打包存储到指定路径。 - `Import` 则是将打包的数据和元数据恢复到 Hive 表。 - **对元数据的处理**: - `Load` 和 `Insert` 主要关注数据本身,对元数据的影响较小。 - `Export` 会导出表的元数据和数据。 - `Import` 会根据导出的元数据和数据恢复表。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值