《CDP企业数据云平台从入门到实践》——Hive 迁移到 CDP(4)

简介: 《CDP企业数据云平台从入门到实践》——Hive 迁移到 CDP(4)

《CDP企业数据云平台从入门到实践》——Hive 迁移到 CDP(3) https://developer.aliyun.com/article/1227681?groupCode=ClouderaCDP


三、使用DistCP+HMS Mirror迁移数据

DistCP主要负责迁移HDFS部分的数据,它支持增量和全量的迁移方式,支持非Kerberos到Kerberos以及非Kerberos到Kerberos的数据迁移。


HMS Mirror主要用于弥补两个集群之间的差异并迁移Hive元数据,数据移动不是该工具的主要功能,需要DistCP来完成。


HMSMirror在两个集群之间迁移HiveMetastore,可以使用SQL和EXPORT_IMPORT等数据策略。也可以做一些数据移动,但它适用于较小的数据集,在较大数据集场景下效率不高。此外,元数据迁移里也有不同的策略,比如Schema、Read-only。

image.png

上图为HMS-Mirror迁移步骤,此种方式对来源没有限制,Hive可以是EMR、HDP、CDH、Apache Hadoop、CDP等,目标一般为CDP。


过程中通过YARN来调度HDFS,将数据导出再导入,此处更倾向于通过DistCP在YARN上调度来执行HDFS数据的迁移。然后将Hive Metastore数据进行复制,并通过YARN写入到HiveMetastore数据库,终端用户即可直接通过目标集群来访问。


1.使用DistCP和HMS Mirror迁移Hive演示

本次demo使用的环境如下:CDH5.1.6,禁用Kerberos,使用的Hive版本为1.1;CDP 7.1.7,启用Kerberos,使用的Hive版本为3.1.3。

image.png

在CDH 5.1.6里的test_db库下有四张表,本次演示将完成这四张表的数据同步。

image.png

首先在CDH集群对DB目录创建Snapshot,创建完成后,查看其对应的快照。

image.png

接着到目标集群对数据同步赋权,创建针对user/hdfs目录的权限,该权限赋予

etl_user用户,并通过此用户来操作数据。

image.png

在CDP集群里使用etl_user用户做数据同步,利用DistCP进行数据迁移。关于

DistCP的使用方式和参数请参考对应手册。

image.png

数据同步完成后,查看目录里的数据,可以看到四张表已经同步成功。

image.png

github上提供了非常完整的HMS Mirror文档,依照文档里的步骤进行下载安装即可。安装完成后可以看到user/local目录下创建了新的目录结构,包含bin和lib参考文件。根目录下创建了隐藏文件夹HMSMirror用于存放对应的目录结构,将hive-jdbc的standalone.jar文件放至该目录下,再将cdh的standalone.jar文件放至该目录下并创建对应的配置文件。


查看配置信息,其中transfer提供了一些参数,左右集群分别配置了HDFS

NameSpace、uri以及jar文件的目录路径。

image.png

配置完成后,执行HMS Mirror的命令来同步元数据。

image.png

执行完成后,可以看到同步了一个数据库和四张表,对应的同步数据库是test_db,temp目录下生成了若干文件。


image.png

查看temp目录下的文件结构。其中比较重要的是右侧目标集群的执行文件。

image.png

查看此文件,可以看到已经将对应的表结构抽取出来,CDH是内表,在CDP中转成了外表。此处location路径对应的根目录有误,应将其替换,保存文件。


image.png

在环境中创建test_db目录。

image.png

启用Hive用户,执行beeline生成DDL语句。

image.png

回到Hive,可以看到已经存在四张表,查询parquet表内数据总条数为20004条。

image.png

对表做更新,插入2条数据,再做增量的同步。

插入完成后查询parquet表内数据更新为20006条。

前面为使用命令方式迁移数据,接下来演示使用UI工具。

image.png

首先找到text_db所在目录,拍摄快照。创建完成后即可在页面上看到快照。

image.png

切换到etl用户,做DistCP的增量数据同步。

image.png

同步完成后,切换到CDP集群,将工具切换为Hive,查看数据总条数,结果为20006。








目录
相关文章
|
SQL DataX HIVE
【YashanDB知识库】DataX迁移Hive到崖山分布式
本文来自YashanDB官网,介绍通过DataX将Hive数据迁移到YashanDB的实现方法。源环境为Hive 3.1.3,目标为YashanDB 23.2.3.100。文章提供了Hive与YashanDB的建表脚本、数据类型映射及DataX配置示例,包含reader和writer插件参数设置,并通过`datax.py`执行同步任务。内容详尽展示了数据迁移的全流程。
【YashanDB知识库】DataX迁移Hive到崖山分布式
|
弹性计算 Linux 网络安全
使用阿里云服务器迁移中心SMC将其他云平台业务迁移至阿里云教程参考
现在越来越多的个人和企业用户选择将其他云平台或者服务商的业务迁移到阿里云,但是如何快速且安全完成迁移是很多用户比较关注的问题,我们可以选择使用阿里云提供的服务器迁移中心(Server Migration Center,简称SMC),这个产品是阿里云提供给您的迁移平台,专注于提供能力普惠、体验一致、效率至上的迁移服务,满足您在阿里云的迁移需求。本文为大家展示使用阿里云服务器迁移中心SMC将其他云平台业务迁移至阿里云的教程,以供参考。
使用阿里云服务器迁移中心SMC将其他云平台业务迁移至阿里云教程参考
|
SQL 分布式计算 Hadoop
Hadoop-14-Hive HQL学习与测试 表连接查询 HDFS数据导入导出等操作 逻辑运算 函数查询 全表查询 WHERE GROUP BY ORDER BY(一)
Hadoop-14-Hive HQL学习与测试 表连接查询 HDFS数据导入导出等操作 逻辑运算 函数查询 全表查询 WHERE GROUP BY ORDER BY(一)
509 4
|
SQL 分布式计算 关系型数据库
Hadoop-21 Sqoop 数据迁移工具 简介与环境配置 云服务器 ETL工具 MySQL与Hive数据互相迁移 导入导出
Hadoop-21 Sqoop 数据迁移工具 简介与环境配置 云服务器 ETL工具 MySQL与Hive数据互相迁移 导入导出
575 3
|
SQL
Hadoop-14-Hive HQL学习与测试 表连接查询 HDFS数据导入导出等操作 逻辑运算 函数查询 全表查询 WHERE GROUP BY ORDER BY(二)
Hadoop-14-Hive HQL学习与测试 表连接查询 HDFS数据导入导出等操作 逻辑运算 函数查询 全表查询 WHERE GROUP BY ORDER BY(二)
720 2
|
SQL 物联网 数据处理
"颠覆传统,Hive SQL与Flink激情碰撞!解锁流批一体数据处理新纪元,让数据决策力瞬间爆表,你准备好了吗?"
【8月更文挑战第9天】数据时代,实时性和准确性至关重要。传统上,批处理与流处理各司其职,但Apache Flink打破了这一界限,尤其Flink与Hive SQL的结合,开创了流批一体的数据处理新时代。这不仅简化了数据处理流程,还极大提升了效率和灵活性。例如,通过Flink SQL,可以轻松实现流数据与批数据的融合分析,无需在两者间切换。这种融合不仅降低了技术门槛,还为企业提供了更强大的数据支持,无论是在金融、电商还是物联网领域,都将发挥巨大作用。
317 6
|
SQL 关系型数据库 MySQL
实时计算 Flink版操作报错合集之从mysql读数据写到hive报错,是什么原因
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
|
SQL DataWorks 监控
DataWorks产品使用合集之同步数据到Hive时,如何使用业务字段作为分区键
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
|
SQL 分布式计算 关系型数据库
Hadoop-24 Sqoop迁移 MySQL到Hive 与 Hive到MySQL SQL生成数据 HDFS集群 Sqoop import jdbc ETL MapReduce
Hadoop-24 Sqoop迁移 MySQL到Hive 与 Hive到MySQL SQL生成数据 HDFS集群 Sqoop import jdbc ETL MapReduce
571 0

热门文章

最新文章