当前位置: 首页 > news >正文

网站建设hnshangtian专业的网站设计公司

网站建设hnshangtian,专业的网站设计公司,wordpress 管理员权限设置,企业建站网站建站系统摘要#xff1a;本次分享主要介绍 Hive数据如何迁移到MaxCompute。MMA#xff08;MaxCompute Migration Assist#xff09;是一款MaxCompute数据迁移工具#xff0c;本文将为大家介绍MMA工具的功能、技术架构和实现原理#xff0c;再通过实际操作MMA#xff0c;演示将Hiv…摘要本次分享主要介绍 Hive数据如何迁移到MaxCompute。MMAMaxCompute Migration Assist是一款MaxCompute数据迁移工具本文将为大家介绍MMA工具的功能、技术架构和实现原理再通过实际操作MMA演示将Hive数据迁移到MaxCompute。 演讲嘉宾简介阿里云智能产品专家-云花 精彩视频回顾Hive数据如何同步到MaxCompute 以下内容根据演讲视频以及PPT整理而成。本次分享主要围绕以下两个方面 一、MMA功能介绍、技术架构和原理 二、MMA数据迁移操作演示 一、MMA功能介绍、技术架构和原理1.MMA功能介绍 MMA主要覆盖的场景包括批处理存储数据集成作业编排及调度。MMA提供迁移评估分析功能自动化生成迁移评估报告。迁移评估报告会报告出从Hive表的数据结构到MaxCompute的数据结构之间是否有数据类型映射兼容性问题如语法问题。MMA支持自动化数据迁移功能支持批量建表以及数据自动化批量迁移。另外MMA还支持作业语法分析可以检查Hive SQL能否直接运行在MaxCompute里。MMA还支持工作流迁移对主流数据集成工具Sqoop进行作业的迁移转换并自动创新DataWorks数据继承作业。 2.MMA迁移服务架构 MMA迁移服务架构如下图。左侧是客户Hadoop集群右侧的是Aliyun 大数据服务主要是DataWorks和MaxCompute。MMA工具会跑在客户的Hadoop集群上客户的服务器需要能够访问Hive Server。在机器上部署MMA客户端工具时会自动化获取Hive Meta里的数据既将Hive的Meta数据从MySQL中读出来还可以将Meta信息自动转换成MaxCompute DDL然后用DDL在MaxCompute中批量创建表批量拉起数据同步的作业向Hive Server并发提交Hive SQL作业。基于Hive SQL作业调用一个UDFUDF里面会集成Tunnel的SDK基于Tunnel将数据批量写到MaxCompute的表中。作业和工作流的迁移也是基于MMA客户端工具自动发现的Hive Meta数据做工作流的作业检查包括把工作流的组件中的工作流的配置批量转换成DataWorks工作流的配置直接生成DataWorks工作流。以上步骤完成了数据到作业到工作流的迁移。最后一步是迁移完成后需要基于MaxCompute和DataWorks架构对接业务系统。 3.MMA Agent技术构架和原理 通过客户端和服务端MMA可支持数据和工作流的批量迁移。安装在客户服务器上的MMA客户端工具包含下图中的四个能力。首先可自动获取Hive Metadata并自动创建生成DDL和UDTF而且可批量创建表和批量Hive数据迁移。相应的MMA有四个主要组件。Meta Carrier工具自动将Hive Meta信息提取出来在本地生成Hive Meta结构。Meta Processor是基于Meta Carrier工具产出的结果基于Hive Meta数据批量转成MaxCompute的DDL既批量转成建表语句和数据类型的转换。此外MMA客户端工具还内置了ODPS Console基于ODPS Console将Meta Processor产出的ODPS DDL在MaxCompute上批量创建表。最后基于Data Carrier批量创建Hive SQL作业。每个Hive SQL作业相当于多个表或者多个分区并行的数据的同步。 二、MMA数据迁移操作演示1.环境准备 如下图所示MMA环境运行要求是jdk1.6版本以上Python3。另外运行MMA的机器通过Hive Client提交Hive SQL的作业。机器还需要可以访问Hive Server并连接MaxCompute服务。下图右侧的场景案例是客户在基于MMA做同步数据时发现的问题。例子中客户有自己的IDC在阿里云有自己的ECS客户从IDC拉一条专线访问阿里云。在安装MMA之前客户可以从ECS上直接访问MaxCompute但IDC里的机器不能访问MaxCompute。此时需要在这条专线上增加VBR路由配置既在边界路由上增加一个配置。配置之后可以打通从IDC到ECS甚至到MaxCompute服务的网络访问。 2.下载和编译工具包 下载编译工具包有两种方法。一是下载下图中编译好的工具包。此外由于用户的Hive版本各不相同用户可以根据MMA官网上提供的GitHub地址下载源码拉到本地进行编译。 3.MMA Agent操作说明使用meta-carrier采集Hive Metadata机器提前安装好Hadoop环境本地有Hive Server。提前下载客户端的odps-data-carrier.zip包并在本地解压。解压完成后会显示下图所示目录。 bin目录下有几个文件首先是MMA的几个核心角色meta-carrier、meta-processor、odps_ddl_runner用于批量创建表hive_udtf_sql_runner用于同步数据。libs目录下是工具依赖的jar包和库。 res目录的console目录下的bin目录包含odpscmd是MMA客户端的工具odps_config,ini配置文件。 本地Hive上面有三个库其中dma_demo库下有五个表可将五个表自动批量同步到MaxCompute上。首先需要在MaxCompute上创建一个project既在DataWorks控制台创建一个空Project。打开新的命令窗口在本地运行的ODPS Command客户端工具连接新创建的空的project。在已经安装了MMA Hive的机器上运行解压进入odps-data-carrier工具的目录。执行 bin/meta-carrier -h查看其参数说明-d表示用户可以指定数据库通过指定数据库提取meta数据若不指定会将Hive下所有的库的meta都拉取出来。-o指定输出目录-t参数指定表-u参数指定uri地址即Hive Meta的地址。开始测试时首先指定地址因为是thirft地址所以用thirft协议连接。此外由于Hive Meta在本地所以只需要将dma_demo库的meta拉取出来加-o参数指定目录。通过tree meta可以查看meta目录结构。meta目录下生成和数据库同名的dma_demo目录。dma_demo目录下的json文件是描述数据库meta信息的文件。partition_meta里面的两个表是分区表table_meta的表是非分区表会把所有表集的meta信息写在下面。 使用network-measurement-tool网络测量工具network-measurement-tool用于网络测速测量Hive集群到MaxCompute各region的网络连通质量。通过网络测速可以知道网络传输速度和大概的数据量根据网络传输速度预估数据传输时间。network-measurement-tool工具连接MaxCompute上所有region的节点ENDPOINT地址由最快到最慢做测速排序。下图中执行结果最快的是HANGZHOU连接时间为51ms最慢的是一个海外region KUALA_LUMPUR连接时间为3393ms。 使用sql-checker检查Hive SQL是否可以直接在MaxCompute上执行sql-checker可用于检查Hive SQL语法兼容性判断SQL能否直接在MaxCompute上运行。其参数input要指定meta目录指定缺省project和sql参数。若执行结果返回其兼容性OK即此sql语句可以直接在MaxCompute上运行。 使用meta-processor生成ODPS DDL和Hive UDTF SQL通过第一步已经拉出了Hive Meta库的metadata信息。下一步需要将Hive Meta转换成MaxCompute DDL。使用bin/meta-processor -h查看参数。-i即input-o是output目录。bin/meta-processor的-i就是第一个命令的输出结果代表meta的目录存放的是carrier拉出的Hive Meta数据。指定-i meta -o output。将bin/meta-processor运行结果放入output中。生成output目录。tree output可查看结构。output目录下也会生成一个以MaxCompute的project命名的dma_demo目录。dma_demo目录下面有一个hive_udtf_sql目录目录下面的.sql用于批量数据迁移。还包含odps_ddl目录用于后续批量创建表目录下的.sql是创建表的语句。 使用odps_ddl_runner.py批量创建表和分区既然DDL已经生成下一步需要批量创建表。批量创建表依赖MaxCompute的命令行工具客户端工具。工具包一级目录下的odps_config包含几个基本参数其中project_name、access_id、access_key、end_point为必填项。配置完成可以开始批量创建表。批量创建表工具要执行Python命令python36 bin/odps_ddl_runner.py -h。参数中input参数由meta processer自动生成odpscmd参数不是必须指定的它会默认找到所在目录不需要单独配置参数。创建表过程要拉起odps_command工具基于客户端工具来向MaxCompute提交建表语句。通过show table查看是否创建了五个表再查看分区是否也建好。若Hive和MaxCompute上的分区创建完成两边的表结构也应相同。 使用hive_udtf_sql_runner.py迁移数据通过命令行python36 bin/hive_udtf_sql_runner.py开始读output目录下的.sql语句。查看python36 bin/hive_udtf_sql_runner.py命令的参数Input_all会批量迁移output下所有数据。若只想做单表的迁移或者单分区的迁移需要使用input_single_file参数。parallelism参数表示并行度。数据迁移完成后在MaxCompute中查看表中是否有数据。对比MaxCompute中的数据和Hive中对应表的数据。若其size相同Hive和MaxCompute中对应表的数据相同说明已经完整迁移数据。 进阶功能1仅生成指定的database或table的metadata在生成meta时可以不生成整个数据库的meta可以指定一个表生成一个表的meta。Meta carrier 工具提供了抓取指定数据库可表的能力。 进阶功能2进灵活的hive到MaxCompute映射如果用户需要自定义MaxCompute上的表可以更改命名加前缀或后缀修改自定义字段名。如可以修改MaxCompute DDL里的json文件实现表名或字段名的自定义。 进阶功能3单表或单分区迁移上面的例子中已经批量迁移五张表通过drop table inventory演示单分区迁移。首先若只需同步一个分区的数据需要重新创建一张表。执行python36 bin/odps_ddl_runner.py创建表指定其output目录开始批量创建表。此时inventory表以及其五个分区已经创建完成。但创建的分区中没有数据可指定其中一个分区如第二个分区。通过使用input_single_file参数指定具体分区的sql目录。可指定目录为output/dma_demo/hive_udtf_sql/single_partition/inventory_1.sql。执行完成后查看结果对比在Hive上第二分区的数据和迁移进MaxCompute的单分区的数据若两个单分区数据一致则表示迁移完成。 4.使用DataWorks自动迁移数据和工作流 MMA1.0版本还未将工作流迁移做成服务化功能目前还是一个线下工具。客户需要根据下图模板生成相应目录。在做工作流迁移时如果使用开源组件可以按照模板将配置放到相应目录下。如果不使用开源组件如自研的工作流调度编排服务可基于标准化模板按照模板的目录结构生成用户自己的工作流数据打成zip包上传到DataWorks。目前MMA1.0还需要客户手动打包文件上传zip包后台会进行自动解析并加载到DataWorks工作流。上传完成后DataWorks服务会根据ODPS DDL 批量生成MaxCompute的table。MaxCompute表创建后DataWorks服务会自动拉起DataX的数据同步任务完成批量数据迁移。 下图是可配置的项目描述文件project.xml其中project信息可以自定义。另外一个是工作流描述文件workflow.xml中是工作流自定义的参数用户可以通过编辑配置文件进行修改。 5.其他类型作业的迁移方案UDF、MR迁移用户直接将jar包上传到MaxCompute上开启2.0支持开启对Hive兼容的flag。将Hive兼容的flag设置为true再在MaxCompute下直接迁移Hive下的UDF和MR。需求注意不支持UDFMR中直接访问文件系统网络访问和外部数据源连接。外表迁移原则上能结构化的数据尽量迁移到MaxCompute内部表。如果必须通过外表访问外部文件建议先将数据从HDPS迁移到OSS或OTS再在MaxCompute中创建外部表实现对文件的访问。Spark作业迁移MMA对开源Spark的语法完全兼容。用户只需要下载Spark On MaxCompute客户端在编写Spark SQL时仅增加MaxCompute的连接参数其它部分和Spark SQL的语法相同。 6.查看迁移评估报告 创建MaxCompute DDL完成后除了生成DDL会SQL以外还会生成迁移评估报告report.html文件。迁移评估报告是一个兼容性报告显示Hive表的数据结构和MaxCompute表的数据结构之间的映射关系是否有风险并标识风险等级。另外会给出明细说明以及预警提示如数据类型不兼容或语法不兼容等。用户在迁移之前可以查看此报告评估迁移风险。 原文链接 本文为云栖社区原创内容未经允许不得转载。
http://www.zqtcl.cn/news/788169/

相关文章:

  • 高端 网站设计公司怎样开通微信公众号平台
  • 陕西省建设监理协会网站证书城乡建设管理局网站
  • 网站建设价目表建设商城网站报价
  • 天河企业网站建设杭州网站开发与设计
  • 涂料厂做网站有用吗廊坊关键词快速排名
  • 免费编程网站个人博客网站如何做SEO
  • 动漫做美食的视频网站佛山网站建设公司88
  • 衡水移动网站建设网站定制论坛
  • 装修网站模板源码网站上传不了
  • 南昌企业网站开发宁波seo怎么做推广渠道
  • 查找公司信息的网站小蝌蚪视频网络科技有限公司
  • 爆破wordpress密码河北seo基础入门教程
  • 推广网站报价公司logo设计效果图
  • 西部数据网站管理助手做如美团式网站要多少钱
  • 云主机网站如何备份合肥网页设计就业
  • 视频网站视频预览怎么做西部数码助手网站后台管理
  • 有哪些网站建设工作室杭州房价
  • 广告去哪个网站做上海最大的外贸公司
  • 二手车网站开发过程专业的大连网站建设
  • 北京加盟网站建设宝石汇网站
  • 网站本地建设seo排名赚app多久了
  • 邢台手机网站建设信息超链接html代码
  • wordpress 代码模块昆明seo和网络推广
  • 匈牙利网站后缀沛县做网站xlec
  • 企业网站建设的成本国内做网站建设最好的公司是
  • 威海做企业网站云南建筑工程网
  • 旅游网站建设报价网站空间管理信息
  • app展示网站手机端app开发公司
  • 在湖南建设人力资源网站wordpress widget
  • 英文网站建站山东做网站用虚拟主机还是服务器