MAPREDUCE服务 MRS-导入导出Hive数据库:操作步骤
操作步骤
- 以Hive客户端安装用户登录源端集群安装客户端的节点。
- 执行以下命令,切换到客户端安装目录,例如安装目录为“/opt/client”,请用户根据实际情况修改。
cd /opt/client
- 执行以下命令配置环境变量。
source bigdata_env
- 如果集群开启了Kerberos认证,执行以下命令认证用户,否则跳过此步骤。
kinit Hive业务用户
- 执行以下命令登录Hive客户端。
beeline
- 执行以下命令创建数据库“dump_db”。
create database dump_db;
- 执行以下命令切换到“dump_db”数据库。
use dump_db;
- 执行以下命令在“dump_db”中创建表“test”。
create table test(id int);
- 执行以下命令向表“test”中插入数据。
insert into test values(123);
- 执行以下命令将数据库“dump_db”设置为复制策略的源。
alter database dump_db set dbproperties ('repl.source.for'='replpolicy1');
- 执行alter命令修改数据库属性时,用户需要对该数据库拥有对应权限。权限设置方式如下:
- 集群未启用Ranger鉴权,需登录 FusionInsight Manager授予该用户所属角色管理员权限,详细操作请参考创建Hive角色章节。
- 集群启用了Ranger鉴权,需参考添加Hive的Ranger访问权限策略章节授予用户对应数据库的Repl Dump/Load操作权限。
- 删除设置了复制策略源的数据库时,需要先将该数据库的复制策略源设置为空,再对数据库执行删除操作,否则无法删除。将数据库复制策略源设置为空的命令如下:
alter database dump_db set dbproperties ('repl.source.for'='');
- 执行alter命令修改数据库属性时,用户需要对该数据库拥有对应权限。权限设置方式如下:
- 执行以下命令将“dump_db”导出到目标集群的“/user/hive/test”目录下。
repl dump dump_db with ('hive.repl.rootdir'='hdfs://haclusterX/user/hive/test');
- “haclusterX”为新增的自定义参数“dfs.namenode.rpc-address.haclusterX”中的“haclusterX”。
- 指定导出目录时需要确保当前用户对该目录拥有读写权限。
- 以Hive客户端安装用户登录目标集群安装客户端的节点,并执行2-5。
- 执行以下命令将“/user/hive/test”目录下的“dump_db”数据库的数据导入到“load_db”数据库中。
repl load load_db from '/user/hive/repl';
通过repl load导入数据库,指定数据库名称时需要注意以下情况:
- 指定的数据库不存在,在导入的过程中会创建对应的数据库;
- 指定的数据库已存在,且该数据库的“hive.repl.ckpt.key”属性值与导入的路径一致,则跳过导入操作。
- 指定的数据库已存在,但是该数据库下不存在任何表和functions,导入的过程中只将源数据库下的表导入到当前数据库中;如果该数据库下存在表或functions会导入失败。
- MapReduce服务_如何使用MapReduce服务_MRS集群客户端安装与使用
- MapReduce服务_什么是Loader_如何使用Loader
- MapReduce服务_什么是Hive_如何使用Hive
- MySQLdump导入数据库_MySQL建立数据库_MySQL数据库导出
- 大数据分析是什么_使用MapReduce_创建MRS服务
- MapReduce服务_什么是存算分离_如何配置MRS集群存算分离
- MapReduce服务_什么是ClickHouse_如何使用ClickHouse
- MapReduce服务_什么是Hue_如何使用Hue
- MapReduce工作原理_MapReduce是什么意思_MapReduce流程_MRS_华为云
- MapReduce服务_什么是Kafka_如何使用Kafka