收藏 分销(赏)

全链路数据治理-全域数据集成.pdf

上传人:Stan****Shan 文档编号:1239611 上传时间:2024-04-19 格式:PDF 页数:69 大小:16.22MB
下载 相关 举报
全链路数据治理-全域数据集成.pdf_第1页
第1页 / 共69页
全链路数据治理-全域数据集成.pdf_第2页
第2页 / 共69页
全链路数据治理-全域数据集成.pdf_第3页
第3页 / 共69页
全链路数据治理-全域数据集成.pdf_第4页
第4页 / 共69页
全链路数据治理-全域数据集成.pdf_第5页
第5页 / 共69页
点击查看更多>>
资源描述

1、封面页(待分享)卷首语 云原生一体化数仓是阿里云整合自研大数据产品 MaxCompute、DataWorks、Hologres 和实时计算 Flink 版推出的一站式大数据处理平台,具备流批一体、实时离线一体、湖仓一体、全链路数据治理四大核心能力,可以满足企业在建设大数据平台中对时效性、准确性、性价比、非结构化数据处理的需求,基于精简的架构,支撑全域数据分析需求和决策。全链路数据治理包含智能数据建模、全域数据集成、高效数据开发、主动数据治理、全面数据安全、快速分析服务六大产品能力,覆盖数据的全生命周期。本篇全域数据集成向开发者介绍通过DataWorks数据集成在多表多表、多表单表、单表单表等场

2、景下,进行实时或离线同步的技术选型与核心能力,并以MaxCompute 与 Hologres 引擎为例,演示云上数据同步操作步骤最佳实践。后续系列电子书更新请关注 DataWorks 官网或阿里云开发者社区。l 云原生一体化数仓新能力电子书-8 月 l 智能数据建模电子书-9 月 l 全面数据安全电子书-10 月 l 离线实时一体化电子书-10 月 l 主动数据治理电子书-11 月中 DataWorks 官网:https:/ 目录 一、数据同步场景下的技术选型.6 1.数据集成简介.6 2.同步业务场景和技术方案选择对照表.6 3.数据同步增值能力.8 二、实时与离线同步能力介绍.10 1.实

3、时同步功能概述.10 2.使用权限.10 3.实时同步场景与配置.10 4.实时同步附加能力.12 5.附表:实时同步支持的数据源与对应的能力.13 6.离线同步功能概述.14 7.使用权限.14 8.离线调度.14 9.离线同步场景与配置.15 10.离线同步附加能力.16 11.附表:离线同步支持的数据源与对应的能力.17 三、数据同步网络连通实践.20 1.背景信息.20 2.网络连通原理介绍.20 3.独享数据集成资源组介绍.20 4.网络连通解决方案概览.21 5.场景.21 6.附录.28 7.后续步骤.29 四、离线同步至 MaxCompute 实践.30 1.背景信息.30 2

4、.使用限制.30 3.准备工作:添加数据源.30 4.配置任务.32 5.提交执行任务.36 五、分库分表至 Hologres 最佳实践.40 1.背景信息.40 2.使用限制.40 3.准备工作:添加数据源.41 4.配置任务.43 5.任务运维.50 六、分库分表至 MaxCompute 实践.53 1.背景信息.53 2.使用限制.54 3.准备工作:添加数据源.55 4.任务配置.57 5.任务运维.66 数据同步场景下的技术选型 6 一、数据同步场景下的技术选型 概述:数据同步的技术选择非常多样,开源的 DataX、canal 等技术都能实现数据同步的能力。本篇主要介绍通过 Data

5、Works 数据集成在多表多表、多表单表、单表单表等场景下,进行实时或离线同步的技术选型。1.数据集成简介 DataWorks 数据集成是开源 DataX 的商业化技术团队,作为大数据平台上下云的核心枢纽,将不同系统的数据相互打通,实现数据自由离线或实时流动,并致力于提供复杂网络环境下、丰富的异构数据源之间高速稳定的数据移动能力,繁杂业务背景下的数据同步解决方案。DataWorks 数据集成目前已经支持 50+种数据源的读写能力。支持的数据源与读写能力。2.同步业务场景和技术方案选择对照表 每类同步场景支持的方案不同,您可参考此表根据业务需要进行选择。数据同步场景下的技术选型 7 库表规格分类

6、 业务类型 业务场景 方案选择 模块功能入口 多库多表至多表 实时同步 仅同步整库的变化日志,或者整个消息管道内所有数据 整库实时同步 DataStudio-实时同步节点 类镜像数据复制:先同步历史全量,然后持续增量,保持目的与源端尽可能一致 整库全增量 数据集成主站-同步解决方案 周期性同步(离 线 同步)先同步全量,然后按照指定过滤规则持续增量 一次性全量周期性增量同步 拉取所有数据 周期性全量同步 一次性全量同步 按照指定过滤规则抽取数据同步 周期性增量同步 一次性增量同步 分库分表至目标端单表(多 表-单表)实时同步 源端库本身是分库分表的场景,即多个分表对应一个逻辑表,需要按照逻辑表

7、的规则写入目标表中 实时增全量同步 单表至单表 周期性同步(离 线 同步)将一个表中的所有数据同步到目的端 周期性全量同步 DataStudio-离 线 同 步 节点、实时同步节点 按照指定过滤规则抽取一个表中的部分数据,同步到目的端 周期性增量同步 实时同步 纯实时流同步,中间可以做简单的数据处理,如字符串处理 实时 ETL 同步 【注】数据同步场景下的技术选型 8 l DataStudio 是 DataWorks 中的数据开发模块,数据集成主站是指DataWorks 中的数据集成模块,目前部分的数据集成任务由于历史原因,操作入口还在数据开发(DataStudio)中,后续随着产品演进,能力

8、都会逐步转移到数据集成中。l 实时与离线同步支持的数据源类型不同,具体可参考:实时同步数据源列表、离线同步数据源列表。l 实时增全量同步:对于目标端引擎不支持 update 的引擎(比如MaxCompute),一般做法是拿着实时的增量数据与全量数据周期性进行merge,这会产生所在引擎上的计算任务,和附带的计算收费。l 在实时同步读取云数据库场景下,本文中库的定义为,当前云实例下,该数据源配置账号有权限的所有库。以下场景整库同步指的是当前数据源配置账号所有有权限的库。l 表格展示目前所支持的能力及其对应的模块,具体任务配置与实现您可跳转至对应的模块进行操作。3.数据同步增值能力 除了实现不同数

9、据源之间的同步,DataWorks 数据集成还与 DataWorks 强大的全链路数据开发治理能力融合,支持数据源开发与生产环境隔离、任务运维、数据质量监控、数据源审批策略管控、独享资源组等多项能力。数据同步场景下的技术选型 9 1)支持数据源开发和生产隔离 数据同步基于数据源进行配置,配置数据源时,支持您为开发与生产环境分别配置不同的数据源地址实现开发与生产隔离。数据源开发与生产隔离及数据源管理详情请参见:数据源开发与生产隔离。2)独享数据集成资源组 DataWorks 数据集成同步的计费方式是按使用的资源组计费,独享数据集成组可以保证任务稳定安全可靠的执行,特别是一些耗费资源的实时同步任务

10、,同时可以支持各类同步解决方案,帮助企业更加快速完成数据上云第一步。更多独享资源组的介绍可参见独享数据集成资源组。3)DataWorks 运维中心-任务运行状态监控 支持对同步任务任务运行状态进行监控,包括任务未完成、出错、完成等场景的监控报警,并且支持邮件、短信、电话、钉钉群机器人和 WebHook 报警方式将报警信息发送给报警接收人。详情请参见:自定义规则监控报警。4)DataWorks 数据质量-表数据质量监控 部分数据源支持对同步后的数据进行数据质量监控,目前部分表支持配置数据质量校验规则,数据治理规则支持情况,详情请参见:数据质量概述。5)DataWorks 审批中心-数据集成审批策

11、略 在 DataWorks 审批中心支持用户基于“源端-目的端”的组合定义在“保存”或“运行”数据集成任务时必须触发审批,针对数据同步过程进行更加灵活的管控,保障数据传输安全。详情请查看数据集成审批策略。实时与离线同步能力介绍 10 二、实时与离线同步能力介绍 1.实时同步功能概述 DataWorks 数据集成为您提供的实时数据同步功能,方便您使用单表同步或整库同步方式,将源端数据库中部分或全部表的数据变化实时同步至目标数据库中。支持复杂网络环境下的数据同步,云数据库,本地或 ecs 自建数据库或非阿里云数据库等环境下的数据同步,在配置前,您需要确保独享数据集成资源组与您数据库网络已经连通,对

12、应数据库环境与网络连通配置详情请参见:配置网络连通。实时同步支持 10+种数据源星型链路组合,并且支持单表实时同步至单表,整库数据(多表)实时同步至多表。详细支持的数据源请参见附录。2.使用权限 l 实时同步仅支持使用独享数据集成资源组。l 对于数据库类数据源需要预先开通数据库的实时日志能力。3.实时同步场景与配置 1)单表 ETL 实时同步 实时与离线同步能力介绍 11 l 将单个表或者 topic 内的数据同步到另外一个表中,整个流程支持图形化开发无需编写代码,单表实时同步至单表时,支持使用托拽的方式实现任务开发,业务新手也能够轻松上手。l 单表增量数据实时同步场景下,您可以根据业务需求,

13、对输入数据源进行数据过滤、字符串替换和数据脱敏处理后,再将数据输出至目标数据库。数据过滤:可以对数据进行规则过滤,例如过滤字段的大小等,符合规则的数据才会被保留。字符串替换:可以通过字符串替换节点替换字符串类型的字段。数据脱敏:可以对实时同步的单表数据进行脱敏,将脱敏后的数据输出至目标数据库。l 具体配置方案请参考配置实时同步任务。2)整库实时同步 l 将整个数据库的变化日志同步到目标端中,一般用作纯实时日志的收集。l 可以一次性配置一个实例下多个库的多个表,一个任务中最多支持 3000 个目标表。l 具体配置方案请参考配置实时同步任务。3)整库全增量实时同步 l 是实时同步使用最频繁的业务场

14、景,一般用作将源端库持续不停地同步到目标端中,以期实现目标端对于源端的镜像效果。l 可以一次性配置一个实例下多个库的多个表,一个任务中最多支持 3000 个目标表。l 除了直接使用已有表作为目标表,也支持自动生成目标 schema/表,并且可以自定义目标 schema/表名生成规则。l 支持目标表添加附加字段,实时同步默认按照默认按照同名映射,源端同名字段写入目标端同名字段,未映射成功的字段将不参与同步,但支持您定义目标表字段与值。l 数据集成实时同步在同步 MySQL、Oracle、Loghub 和 PolarDB 类型的数据至 DataHub 或 Kafka 时,会在同步的目标端添加 5

15、个附加列,以进行元数据管理、排序去重等操作。详情请参见实时同步字段格式。实时与离线同步能力介绍 12 l 支持定义 DDL/DML 消息处理策略,为保障数据符合预期,实时同步任务支持对不同类型的 DDL/DML 消息定义不同的处理策略。l 具体配置方案请参考配置同步任务解决方案。4.实时同步附加能力 1)监控报警配置 l 支持对业务延迟、Failover、DDL 策略、心跳检查设置监控报警。l 支持通过邮件、短信、电话和钉钉等方式将报警信息发送给报警接收人,方便您及时发现并处理任务异常。l 支持报警疲劳度控制。为了避免短时间内产生大量报警,DataWorks 支持您设置当前规则在指定时间间隔内

16、只发送一次报警信息。2)断点续传配置 l 支持断点续传或从指定同步起始位置开始同步。即当您重启实时同步任务时,支持断点续传,即您无需人工指定位点,任务将从失败位点开始读取数据。说明:若您需要指定源端开始同步数据的位置,实时同步也支持您指定实时同步任务同步数据的起始位置。3)脏数据及对任务的影响定义 l 脏数据认定标准:脏数据是对于业务没有意义,格式非法或者同步过程中出现问题的数据。单条数据写入目标数据源过程中发生了异常,则此条数据为脏数据。因此只要是写入失败的数据均被归类于脏数据。大部分场景为格式非法的数据。例如:源端是 VARCHAR 类型的数据写到 INT 类型的目标列中,导致因为转换不合

17、理而无法写入的数据。脏数据不会成功写入目的端。您可以在同步任务配置时,控制同步过程中是否允许脏数据产生,并且支持控制脏数据条数,即当脏数据超过指定条数时,任务失败退出。实时与离线同步能力介绍 13 实时同步支持零容忍脏数据和不限制两种方式。l 零容忍:即当同步过程中产生脏数据时,任务失败退出。l 不限制:即当同步过程中产生脏数据时,同步忽略该数据继续同步。需要注意的是,选择此项设置后会存在目标端和源端有数据不一致的可能性,因为脏数据无法被写入目标端。5.附表:实时同步支持的数据源与对应的能力 模块/数据源 实时同步 入口在 DataStudio 同步解决方案 入口在数据集成主站 单表增量实时读

18、 单表增量实时写 整库增量实时读 整库增量实时写 整库全增量实时读 整库全增量实时写 AnalyticDB for MySQL 3.0-ApsaraDB for OceanBase-DataHub -DRDS(polardb-x)-Elasticsearch-Hologres-Kafka -LogHub(SLS)-MaxCompute-MongoDB-MySQL -Oracle-PolarDB -实时与离线同步能力介绍 14 PostgreSQL-6.离线同步功能概述离线(批量)的数据通道通过定义数据来源和去向的数据源和数据集,提供一套抽象化的数据抽取插件(Reader)、数据写入插件(Wri

19、ter),并基于此框架设计一套简化版的中间数据传输格式,实现任意结构化、半结构化数据源之间数据传输;支持单表同步至单表,分库分表数据同步至单表。支持复杂网络环境下的数据同步,云数据库,本地或 ecs 自建数据库或非阿里云数据库等环境下的数据同步,在配置前,您需要确保数据集成资源组与您数据库网络已经连通,对应数据库环境与网络连通配置详情请参见:配置网络连通。在数据开发(DataStudio)配置离线同步任务支持单表同步至目标端单表,分库分表同步至目标端单表,但如果您需要将多库多表数据同步至目标端多表,您需要使用数据集成主站中的整库离线同步解决方案。同步解决方案使用,详情请参见:同步解决方案。7.

20、使用权限DataWorks 的离线同步暂不支持跨时区同步数据。如果同步任务中同步的数据源与使用的 DataWorks 资源组不在同一个时区,则会导致同步的数据有误。8.离线调度 实时与离线同步能力介绍 15 离线同步依托 DataWorks 强大的调度能力,可为您实现离线任务的周期性自动调度执行;结合 DataWorks 调度参数,可实现增量数据和全量数据写入到目标表对应分区;调度参数结合 DataWorks 补数据功能,可实现基于一套任务配置,批量将历史数据同步至目标数据库或数据仓库指定表或表指定分区。请参考:补数据使用详情,调度参数说明。9.离线同步场景与配置 单表/分库分表 数 据 同

21、步至单表 支持向导模式和脚本模式配置方式将单数据写入到目标单表,并且支持分库分表多表数据同步至目标端单表,单表同步配置详情请参见:通过向导模式配置任务。分库分表支持 MySQL(支持向导模式)、SQL Server、Oracle、PostgreSQL、PolarDB 和 AnalyticDB 等类型的数据源。分库分表同步配置详情请参见:配置分库分表同步目标单表。全量/增量数据同步 离线同步通过配置类似数据过滤功能来决定同步全量数据还是增量数据。支持时间类型增量字段同步,同时也支持您预处理时间数据为目标数据类型,以此方式实现非时间类型字段增量同步(例如同步前通过其他节点将时间类型数据转换为时间戳

22、,再将时间戳传递给离线同步任务实现时间戳类型字段增量同步)。支持您通过补数据功能将历史数据数据写入到目标表对应时间分区中。说明:不同插件增量同步配置方式不同,关于增量数据同步配置详情,请参见:配置数据增量同步并同步历史数据。不同同步方式的区别:1)向导模式:实时与离线同步能力介绍 16 提供向导式的开发引导,通过可视化的填写和下一步的引导,助您快速完成数据同步任务的配置工作。向导模式的学习成本低,但无法支持部分高级功能。详情请参见通过向导模式配置任务。2)脚本模式:提供脚本式的开发引导,通过直接编写数据同步的 JSON 脚本来完成数据同步开发,适合高级用户,学习成本较高。脚本模式可以提供更丰富

23、灵活的能力,实现精细化的配置管理。详情请参见通过脚本模式配置任务。3)OpenAPI 创建:提供离线同步创建 API,通过 API 调用实现数据集成离线任务的创建,详情请参见:通过 OPEN API 配置任务。10.离线同步附加能力 1)字段映射关系与赋值 在同步任务配置过程中,您可通过字段映射,来定义源端字段与目标端字段的读取和写入关系,源端某字段数据将会根据字段映射关系写入目标端对应类型的字段中。支持多种字段映射方式:向导模式默认同名映射、脚本模式默认脚标映射;向导模式支持同行映射;并支持自定义所有字段或部分字段的字段关系。目标表字段赋值:支持赋值常量,赋值变量(支持使用调度参数,关系型数

24、据库支持使用函数),支持编辑源端字段,例如通过 max(id)控制获取到的字段返回值。2)作业速率上限控制 您可通过界面通道配置,控制数据同步过程相关属性。l 支持通过并发控制来限制数据集成读取和写入数据库的最大并发数。l 支持通过限流控制来保护数据库读写压力。在不限流的情况下,任务将在所配置的并发数的限制基础上,提供现有硬件环境下最大的传输性能。实时与离线同步能力介绍 17 3)分布式模式执行任务 部分数据源支持分布式模式执行任务,分布式执行模式可以将您的任务切片分散到多台执行节点上并发执行,进而做到同步速度随执行集群规模做水平扩展,突破单机执行瓶颈。如果您对于同步性能有比较高的诉求可以使用

25、分布式模式。另外分布式模式也可以使用机器的碎片资源,对资源利用率友好。说明:具体数据源是否支持分布式执行详情请参见各插件文档。4)脏数据个数控制及定义其对任务影响(脏数据检查规则)数据集成默认允许脏数据产生,支持您对同步过程产出的脏数据个数设置阈值,定义其影响,即当脏数据产生或产生多少条时,任务失败退出。l 脏数据认定标准:脏数据是对于业务没有意义,格式非法或者同步过程中出现问题的数据。单条数据写入目标数据源过程中发生了异常,则此条数据为脏数据。因此只要是写入失败的数据均被归类于脏数据。大部分场景为格式非法的数据。例如,源端是 VARCHAR 类型的数据写到 INT 类型的目标列中,导致因为转

26、换不合理而无法写入的数据。脏数据不会成功写入目的端。您可以在同步任务配置时,控制同步过程中是否允许脏数据产生,并且支持控制脏数据条数,即当脏数据超过指定条数时,任务失败退出。11.附表:离线同步支持的数据源与对应的能力 模块/数据源 离线同步 入口:DataStudio 同步解决方案 入口:数据集成主站 单表读 单表写 整库离线读 整库离线写 AWS S3 -AnalyticDB for MySQL 2.0 -AnalyticDB for MySQL 3.0 -实时与离线同步能力介绍 18 AnalyticDB for PostgreSQL -ApsaraDB for OceanBase -C

27、lickHouse -DataHub -DB2 -DM(达梦)-DRDS(polardb-x)-Elasticsearch -FTP -GBase8a -Graph Database(GDB)-HBase -HBase 11xsql -HBase20 xsql -HDFS -Hive -Hologres -HybridDB for MySQL -Kafka -KingbaseES(人大金仓)-Lindorm -LogHub(SLS)-MaxCompute -MaxGraph-实时与离线同步能力介绍 19 Memcache-MetaQ -MongoDB -MySQL -OpenSearch-Op

28、enTSDB -Oracle -OSS -OTSStream -PolarDB -PostgreSQL -Prometheus -Redis-RestAPI(HTTP 形式)-SAP HANA -Sensors Data(神策)需要根据神策数据存储类型选择Hive、HDFS 等插件来读取数据。-SQL Server -Table Store(OTS)-TSDB -Vertica -数据同步网络连通实践 20 三、数据同步网络连通实践 1.背景信息 在做数据同步时,网络打通是一大难题,通过本篇文章您将了解,数据库在不同网络环境中时,可选用的网络连通方案,将数据同步源端、目标端、与 DataWor

29、ks 数据集成资源组打通,更快完成后续的数据同步工作。2.网络连通原理介绍 DataWorks 使用集成资源组(同步机器)来进行数据同步,数据同步前,您需要保障数据集成资源组(同步机器)与数据库的网络连通性,您可以根据数据库所在网络环境,选择合适的网络解决方案来实现网络连通。3.独享数据集成资源组介绍 1)资源属性 DataWorks 平台托管型资源,购买后您可独占使用这些资源,详情请参见新增和使用独享数据集成资源组。2)使用场景 l 实时同步、离线同步、同步解决方案场景。l 当您需要通过内网访问其他网络环境,需要与其他网络环境下的数据库进行网络连通,您可以选择独享数据集成资源组。数据同步网络

30、连通实践 21 l 在数据集成任务高并发执行且无法错峰运行的情况下,企业需要独享的计算资源组来保障数据快速、稳定地传输。4.网络连通解决方案概览 1)使用限制 使用独享数据集成资源组时:可以与在公网、VPC(内网)网络环境中的数据源进行跨 Region、跨 IDC、跨云厂商之间的网络连通,无法与经典网络中的数据源连通。2)方案选型 数据库类型 数据库与DataWorks 工作空间关系 访问数据库的网络:公网 访问数据库的网络:VPC(内网)数据库在阿里云 ECS 自建数据库 阿里云数据库云产品 同阿里云主账号、同地域 直接连通,方案详情和配置指导请参见下文的场景一。参见下文场景二。同阿里云主账

31、号、不同地域 需要先参见附录:网络连通工具。参见下文场景三。不同阿里云主账号 需要先参见附录:网络连通工具。参见下文场景四。数据库不在阿里云 IDC 数据库 非阿里云的云数据库 不涉及 需要先参见附录:网络连通工具。参见下文场景五。5.场景 场景一:通过公网访问数据库 1)网络连通方案 数据同步网络连通实践 22 直接连接。2)网络连通配置操作指导 以使用阿里云 RDS 数据库为例,网络连通配置如下。l 其中,独享数据集成资源组的详情请参见新增和使用独享数据集成资源组。l 获取 RDS 的专有网络信息,详情请参见切换专有网络 VPC 和虚拟交换机。注意:请注意公网的收费限制,详情请参见数据集成

32、公网流量计费。场景二:通过 VPC(内网)访问数据库,且数据库与 DataWorks 工作空间,同阿里云主账号、同地域 数据同步网络连通实践 23 1)网络连通方案 2)网络连通方案架构图 3)网络连通配置操作指导 独享数据集成资源组可绑定数据源所在 VPC。说明:数据同步网络连通实践 24 l 绑定 VPC 后,系统自动为您添加一条路由至整个 VPC 的路由,您绑定 VPC的任意一个交换机,资源组与数据源的网络都可连通。l 如果您是在数据源配置界面进行的网络绑定,独享数据集成资源组只能访问数据库所在 VPC 和交换机,无法与整个 VPC 实现连通,此时您需手动添加路由,详情可参见添加路由。以

33、阿里云 RDS 数据库为例,配置操作如下所示:其中,获取 RDS 的专有网络信息,详情请参见切换专有网络 VPC 和虚拟交换机。场景三:通过 VPC(内网)访问数据库,且数据库与 DataWorks 工作空间,同阿里云主账号、不同地域 1)网络连通方案 2)网络连通方案架构图 数据同步网络连通实践 25 3)网络连通配置操作指导 l 为独享数据集成资源组绑定一个 VPC。在 DataWorks 所在地域新建一个 VPC。为独享数据集成资源组绑定上述创建的 VPC。l 配置数据源和资源组的网络连通。使用云企业网或 VPN 连通两个 VPC。在控制台添加路由,连接至目标 VPC,详情可参见添加路由

34、。以阿里云 RDS 数据库为例,配置操作如下所示:数据同步网络连通实践 26 其中,获取 RDS 的专有网络信息,详情请参见切换专有网络 VPC 和虚拟交换机。场景四:通过 VPC(内网)同步数据库数据,且数据库与 DataWorks工作空间使用不同阿里云主账号 1)网络连通方案 2)网络连通方案架构图 3)网络连通配置操作指导 l 为独享数据集成资源组绑定一个 VPC。在 DataWorks 所在地域新建一个 VPC。为独享数据集成资源组绑定上述创建的 VPC。数据同步网络连通实践 27 l 配置数据源和资源组的网络连通。使用云企业网或 VPN 连通两个 VPC。在控制台添加路由,连接至目标

35、 VPC,详情可参见添加路由。以阿里云 RDS 数据库为例,配置操作如下所示:其中,获取 RDS 的专有网络信息,详情请参见切换专有网络 VPC 和虚拟交换机。场景五:数据库不在阿里云,在 IDC 或其他厂商 1)网络连通方案 2)网络连通方案架构图 数据同步网络连通实践 28 3)网络连通配置操作指导l为独享数据集成资源组绑定一个 VPC。在 DataWorks 所在地域新建一个 VPC。为独享数据集成资源组绑定上述创建的 VPC。l配置数据源和资源组的网络连通。使用云企业网或 VPN 连通资源组 VPC 和 IDC 网络。在数据源VPC控制台添加路由,连接至目标IDC,详情可参见添加路由。

36、l使用经典网络不支持网络连通。说明:阿里云经典网络已不推荐使用,建议您迁移数据源至 VPC。6.附录1)网络连通解决方案如下:l云企业网使用场景示例,请参见云企业网。lVPN 网关使用场景示例,请参见 VPN 网关。2)查看数据集成任务执行集群的方式如下:数据同步网络连通实践 29 l任务运行在默认的资源组上,日志中会出现如下信息:running in Pipelinebasecommon_ group_xxxxxxxxx。l任务运行在独享数据集成资源上,日志中会出现如下信息:running inPipelinebasecommon_S_res_group_xxx。7.后续步骤1)网络连通配置

37、l选择合适的网络连通方案后,您可参考连通方案对应的操作引导配置数据源与资源组的网络连通。l完成网络连通配置后,您可根据数据库是否开启白名单设置,如果开启了白名单,则您需要将资源组相应的 IP 地址段添加至数据库的白名单中,避免资源组无法正常读写数据库的数据,详情可参见添加白名单。l如果您的数据库是 ECS 自建数据库,您还需安全组配置,详情可参见 ECS自建数据库的安全组配置。离线同步至 MaxCompute 实践 30 四、离线同步至 MaxCompute 实践 概述:DataWorks 数据集成是阿里云数据上云的核心枢纽,提供了功能丰富强大的一站式离线&实时数据同步能力,满足数据入仓入湖的

38、需求。本文将以 MySQL 离线同步写入离线数仓 MaxCompute 场景为例,为您介绍数据集成离线同步最佳实践。1.背景信息 MaxCompute 是阿里云自研的离线数仓,具备高效强大的离线数据处理分析能力。数据集成支持将不同源端数据离线同步到 MaxComput 供用户进行后续数据处理。本文以 MySQL 单表周期离线同步到 MaxCompute 场景向读者介绍数据集成离线同步能力。2.使用限制 为保证同步资源能够独占稳定使用,对于生产级别同步任务建议使用数据集成独享资源组。3.准备工作:添加数据源 1)新建 MySQL 数据源 新建 MySQL 数据源,支持阿里云实例模式和连接串模式。

39、l 阿里云实例模式:适用于阿里云 RDS For MySQL。l 连接串模式:适用于自建、公网或本地 IDC 机房 MySQL。离线同步至 MaxCompute 实践 31 本文以阿里云 RDS For MySQL 为例,新建数据源如下:点击要同步该数据源的数据集成独享资源组测试连通性,确保数据源连通状态为“可连通”。2)新建 MaxCompute 数据源 在 DataWorks 中绑定 MaxCompute 引擎后,系统会建立 odps_first 默认数据源,可以使用此默认数据源。离线同步至 MaxCompute 实践 32 4.配置任务 1)创建同步任务 l 新建业务流程:进入 Data

40、Works DataStudio(数据开发)页面,选中已存在业务流程或新建业务流程。l 创建离线同步节点:选中离线任务所属的业务流程,单击右键,新建“离线同步”节点。离线同步至 MaxCompute 实践 33 l 设置数据来源:设置数据源类型、数据源名称、待同步源表、数据过滤规则和切分键。数据过滤规则支持数据源 SQL 的 where 过滤语句和 DataWorks的调度系统参数。切分键用于并发同步时数据分片使用,为提升效率建议使用主键或索引键,支持类型为数值型。设置完毕后可以点击“数据预览”键查看预览数据。l 设置数据去向:设置数据源类型、数据源名称(MaxCompute 数据类型可以使用

41、绑定引擎时默认建立的 odps_first 数据源)和目标表等参数。目标表支持从下拉列表中选择,也支持使用“一键生成目标表”根据源表 schema 新建目标表(注:一键生成目标表功能自动生成的 SQL 仅为基础 SQL,用户如果有高级需求可以手动修改 SQL 或拷贝 SQL 到建表语句窗口)。数据写入支持 Insert Overwrite(清理写入前数据)和 Insert Into(保留写入前数据)两种模式。源表数据为空字符串时,支持两种处理模式。l 配置字段的映射关系:选择数据来源和数据去向后,需要指定读取端和写入端列的映射关系。您可以选择同名映射、同行映射、取消映射或自动排版。离线同步至

42、MaxCompute 实践 34 参数 描述 同名映射 单击同名映射,可以根据名称建立相应的映射关系,请注意匹配数据类型。同行映射 单击同行映射,可以在同行建立相应的映射关系,请注意匹配数据类型。取消映射 单击取消映射,可以取消建立的映射关系。自动排版 可以根据相应的规律自动排版。手动编辑源表字段 请手动编辑字段,一行表示一个字段,首尾空行会被采用,其他空行会被忽略。添加一行 可以输入常量,输入的值需要使用英文单引号,例如abc、123等。可以配合调度参数使用,例如$bizdate等。可以输入你要同步的分区列,如分区列有 pt 等。不支持配置 ODPS 函数,可以输入关系数据库支持的函数,例如

43、now()、count(1)。如果您输入的值无法解析,则类型显示为自定义。如果您手工编辑添加的列显示自定义(例如添加了 MaxCompute 分区列、LogHub数据预览未预览到的列),不会影响实际任务执行。l 配置通道控制:配置完成上述操作后,请进行通道控制。离线同步至 MaxCompute 实践 35 参数 描述 任务期望最大并发数 数据同步任务内,可以从源并行读取或并行写入数据存储端的最大线程数。向导模式通过界面化配置并发数,指定任务所使用的并行度。同步速率 设置同步速率可以保护读取端数据库,以避免抽取速度过大,给源库造成太大的压力。同步速率建议限流,结合源库的配置,请合理配置抽取速率。

44、错误记录数 错误记录数,表示脏数据的最大容忍条数。默认不填表示容忍脏数据(脏数据会被丢弃并且不会导致任务失败),填写 0 表示不容忍脏数据(脏数据会导致任务失败)。分布式处理能力 数据同步时,可以将任务切片分散到多台执行节点上并发执行,提高同步速率。该模式下,配置较大任务并发数会增加数据存储访问压力,如需使用该功能,请提前评估数据存储的访问负载。该功能仅支持在独享数据集成资源组配置,且当任务并发数大于等于 8 时才能启用分布式供能。2)配置数据集成资源组 点击右侧“数据集成资源组配置”按钮设置同步任务运行的同步资源组。对于生产任务建议运行在独享同步资源组上,可以更好的保证任务的稳定运行和产出。

45、可以选择已有的独享资源组或使用“新建独享数据集成资源组”按钮快速购买。如果是新建的独享数据集成资源组,需要保证源端和目标端数据源,和新建的数数据集成资源组连通性测试正常。3)配置调度属性 离线同步节点中,经常需要使用调度参数进行数据过滤和周期执行。可以点击右侧“调度配置”按钮设置同步任务运行所需的调度配置。重跑操作可根据业务需求设置不同的重跑策略,设置失败可重跑策略可以有效降低因为网络抖动等偶发问题导致的任务失败。其他设置可以根据业务需求选择是否修改。离线同步至 MaxCompute 实践 36 5.提交执行任务 1)提交任务 任务配置已经完成,此时可以依次点击保存和提交按钮将同步任务发不到生

46、产环境运行。2)版本管理 点击右侧版本按钮可以进行版本查看、对比、回滚等操作。离线同步至 MaxCompute 实践 37 3)任务运维 进入 DataWorks 运维中心(工作流)-周期任务运维-周期任务页面可以找到刚才提交发布的周期任务,支持对周期任务进行任务暂停、恢复、补数据等运维操作,详细文档可以参见周期任务运维帮助文档。4)暂停 暂停(冻结)周期任务:如果某任务及其下游任务在未来一段时间内不需要自动调度运行,您可以选择暂停(冻结)该任务。注意:请勿随意操作 projectname_root 节点,该节点为工作空间根节点。周期任务的实例均依赖于该节点,如果冻结该节点,周期实例将无法运行

47、。5)恢复 离线同步至 MaxCompute 实践 38 如果您要恢复当前周期性任务,可以选择恢复(解冻)该任务。6)补数据 周期任务开发完成并提交发布后,任务会按照调度配置定时运行。如果您希望在指定时间段运行周期任务,可以使用补数据功能。DataWorks 周期任务的补数据操作,支持补当前节点及其下游节点,详情请参见补数据。7)查看日志 周期实例或者补数据实例运行支持查看运行日志,可以查看详细的日志运行详情。离线同步至 MaxCompute 实践 39 分库表至 Hologres 最佳实践 40 五、分库分表至 Hologres 最佳实践 概述:DataWorks 数据集成是阿里云数据上云的

48、核心枢纽,提供了功能丰富强大的一站式实时数据同步能力,满足实时数据实时入仓入湖的需求。本文将以 MySQL 分库分表实时写入实时数仓 Hologres 场景为例,为您介绍分库分表写入 Hologres 数据集成最佳实践。1.背景信息 1)业务诉求 MySQL 分库分表的场景下,上游的表和库非常多,都需要同时写入一张 Hologres表,如果要同时配置多个任务则会导致配置非常复杂且运维困难。针对上诉痛点,阿里云 DataWorks 数据集成分库分表同步解决方案提供了面向业务场景的同步任务配置化方案,支持不同数据源的一键同步功能,方便业务简单快速的进行数据同步。2.使用限制 分库表至 Hologr

49、es 最佳实践 41 l 目前仅支持 MySQL/PolarDB for MySQL 单实例同步。l 需要使用 DataWorks 独享数据集成资源组。3.准备工作:添加数据源 1)新建 MySQL 数据源 如果您的数据源,为云上 RDS 数据库,可以选择创建阿里云实例类型。如果您的数据源为 ECS 自建或 IDC 内,可以选择公网或 ECS 自建数据库类型。分库表至 Hologres 最佳实践 42 点击要同步该数据源的数据集成独享资源组测试连通性,确保数据源连通状态为“可连通”。2)新建 Hologres 数据源 分库表至 Hologres 最佳实践 43 测试连通性通过,并保存。4.配置

50、任务 1)创建同步任务 在 DataWorks 管控台进入数据集成主站,点击同步任务,新建任务。选择 Hologres 整库全增量解决方案。分库表至 Hologres 最佳实践 44 2)选择表并刷新表映射 l 左侧勾选源端需要同步的表 table_a_001、table_a_002、table_b_001、table_b_002。l 通过穿梭框选中后移动至右侧。l 点击批量刷新映射按钮。提示:l 目标端 Schema 默认使用源端 Database 名。l 目标端 Table 默认使用源端 Table 名。分库表至 Hologres 最佳实践 45 3)配置表名转换规则 通过增加表名映射规则

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 研究报告 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服