MAPREDUCE服务 MRS-导入导出Hive表/分区数据:操作步骤
操作步骤
- 以Hive客户端安装用户登录源端集群安装客户端的节点。
- 执行以下命令,切换到客户端安装目录,例如安装目录为“/opt/client”,请用户根据实际情况修改。
cd /opt/client
- 执行以下命令配置环境变量。
source bigdata_env
- 如果集群开启了Kerberos认证,执行以下命令认证用户,否则跳过此步骤。
kinit Hive业务用户
- 执行以下命令登录源端集群的Hive客户端。
beeline
- 执行以下命令创建表“export_test”。
create table export_test(id int) ;
- 执行以下命令向表“export_test”中插入数据。
insert into export_test values(123);
- 在目标集群重复执行1-4,并执行以下命令创建存放表“export_test”导出后的HDFS路径。
dfs -mkdir /tmp/export
- 执行以下命令登录目标集群的Hive客户端。
beeline
- 导入导出表“export_test”。
使用Hive Import/Export对表数据迁移时,支持以下几种场景,可以根据实际情况选择合适的导入导出方式。
- 场景一:简单导出导入
- 场景二 :在导入时重命名表
- 场景三:导出分区数据并导入
- 场景四:导出表数据并且将该数据导入到分区中
- 场景五:导入表数据时指定表的Location
- 场景六:导入表数据为外部表
导出表/分区数据时,存放表/分区数据的HDFS路径需提前创建,且该目录为空,否则导出失败。
导出分区时,导出的表必须为分区表,且不支持导出同一个分区字段的多个分区值的数据;导入到表中分区时导入的表必须是分区表。
导入数据时需注意:- 使用import from '/tmp/export';命令导入表是没有指定表名的场景,该场景导入的数据会保存到与源表名相同的表路径下,需注意以下两点:
- 如果目标集群上不存在与源集群上同名的表,在导入表的过程中会创建该表。
- 如果目标集群上已存在与源集群上同名的表,该表对应的HDFS目录下必须为空,否则导入失败。
- 使用import external table import_test from '/tmp/export';命令导入表会将导出的表导入到指定的表中,需注意以下两点:
- 如果目标集群上不存在与指定的表名相同的表,在导入表的过程中会创建该表。
- 如果目标集群上已存在与指定的表名相同的表,该表对应的HDFS目录下必须为空,否则导入失败。
“haclusterX”为新增的自定义参数“dfs.namenode.rpc-address.haclusterX”中的“haclusterX”
- MapReduce服务_如何使用MapReduce服务_MRS集群客户端安装与使用
- MapReduce服务_什么是Loader_如何使用Loader
- MapReduce服务_什么是Hive_如何使用Hive
- MapReduce服务_什么是ClickHouse_如何使用ClickHouse
- 大数据分析是什么_使用MapReduce_创建MRS服务
- MySQLdump导入数据库_MySQL建立数据库_MySQL数据库导出
- Hudi服务_什么是Hudi_如何使用Hudi
- MapReduce服务_什么是Kafka_如何使用Kafka
- MapReduce服务_什么是存算分离_如何配置MRS集群存算分离
- MRS备份恢复_MapReduce备份_数据备份