Dataphin实现MaxCompute外表数据快速批量同步至ADB MySQL

本文涉及的产品
智能数据建设与治理Dataphin,200数据处理单元
简介: 当前大数据时代背景下,企业对数据的处理、分析和实时应用的需求日益增强。阿里云MaxCompute广泛应用于海量数据的ETL、数据分析等场景,但在将处理后的数据进一步同步至在线数据库系统,如ADB MySQL 3.0(阿里云自研的新一代云原生关系型数据库MySQL版)以支持实时查询、业务决策等需求时,可能会遇到数据迁移速度缓慢的问题。DataphinV3.14版本支持外表导入SQL的带参调度,实现通过MaxCompute外表的方式将数据批量同步至ADB MySQL 3.0中,显著提升数据迁移的速度和效率。

背景

当前大数据时代背景下,企业对数据的处理、分析和实时应用的需求日益增强。阿里云MaxCompute广泛应用于海量数据的ETL、数据分析等场景,但在将处理后的数据进一步同步至在线数据库系统,如ADB MySQL 3.0(阿里云自研的新一代云原生关系型数据库MySQL版)以支持实时查询、业务决策等需求时,可能会遇到数据迁移速度缓慢的问题。
DataphinV3.14版本支持数据库调度,支持外表导入SQL,实现通过MaxCompute外表的方式将数据批量同步至ADB MySQL 3.0中,显著提升数据迁移的速度和效率。

操作步骤

在ADB MySQL内创建MaxCompute外表 

  1. 在 ADB MySQL 内创建 MaxCompute 外表,参考文档:
    https://help.aliyun.com/zh/analyticdb-for-mysql/developer-reference/create-external-table?spm=a2c4g.11186623.0.i11#section-pu4-f9t-k2x

在Datphin内创建ADB MySQL数据源

  1. 把 Dataphin 的IP加入 ADB MySQL 的IP白名单中,参考文档:
    https://help.aliyun.com/zh/analyticdb-for-mysql/getting-started/configure-a-whitelist?spm=a2c4g.11186623.0.i8
  2. 在 Dataphin 中创建 MySQL 数据源。
    由于 ADB MySQL 兼容 MySQL 协议,Dataphin支持把 ADB MySQL 作为一个 MySQL 数据源。
    入口:Dataphin > 管理中心 > 数据源管理 > 新建数据源
    image.png
    新建数据源 > 数据源类型选择MySQL
    image.png
    按照ADB MySQL的JDBC URL信息填写即可。
    image.png

在Datphin内创建数据库SQL周期任务

  1. 创建数据库SQL周期任务
    入口:Dataphin > 研发 > 开发 > 新建计算任务 > 数据库SQL
    image.png
    调度类型选择周期任务,数据源类型选择MySQL,数据源选择刚刚创建的ADB MySQL的数据源。
    image.png
  2. 开发外表导入任务,SQL开发可参考文档:
    https://help.aliyun.com/zh/analyticdb-for-mysql/user-guide/use-external-tables-to-import-data-to-data-warehouse-edition-2?spm=a2c4g.11186623.0.0.cdde515ei7cZmc
    开发完SQL后,配置任务调度,可以传入'${bizdate}'这样的调度参数。(过滤条件中务必带上MaxCompute侧表的分区键,否则可能会很慢)
    image.png
  3. 将任务提交发布后即可实现数据的周期性同步

测试结果

  1. 在ADB MySQL资源规格配置为8组Worker (工作节点),24个Executor (执行器),64个Shard (分片/分区)的情况下,通过MaxCompute外表的方式从MaxCompute导入ADB MySQL内表,导入一个宽表(30+列),且全索引。7000万行数据,耗时1分30秒。
  2. Worker的CPU开销在30%内,Executor的CPU开销在10%以内,IO占用在2%以内。

结论

DataphinV3.14版本支持基于传统的数据库的数据研发,统一调度运维:① 在数据同步到数仓前,需要进行数据的加工处理,如生成临时表,将临时表的数据同步到数仓内,同步完成后删除临时表;② 数据写入数据集市后,需要进一步的数据加工处理。实现在同一个平台内,可对数据库的表进行快速的分析探查,一站式数据研发、快速验证,无需多平台协同。
大大提高了研发效率,更多精彩功能欢迎升级使用。

相关实践学习
数据库实验室挑战任务-初级任务
本场景介绍如何开通属于你的免费云数据库,在RDS-MySQL中完成对学生成绩的详情查询,执行指定类型SQL。
阿里云云原生数据仓库AnalyticDB MySQL版 使用教程
云原生数据仓库AnalyticDB MySQL版是一种支持高并发低延时查询的新一代云原生数据仓库,高度兼容MySQL协议以及SQL:92、SQL:99、SQL:2003标准,可以对海量数据进行即时的多维分析透视和业务探索,快速构建企业云上数据仓库。 了解产品 https://www.aliyun.com/product/ApsaraDB/ads
相关文章
|
8天前
|
分布式计算 大数据 关系型数据库
MaxCompute产品使用合集之如何实现类似mysql实例中的数据库功能
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
|
10天前
|
SQL 关系型数据库 MySQL
实时计算 Flink版操作报错合集之从mysql读数据写到hive报错,是什么原因
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
|
9天前
|
DataWorks 监控 关系型数据库
利用 DataWorks 数据推送定期推播 MySQL 或 StarRocks Query 诊断信息
DataWorks 近期上线了数据推送功能,能够将数据库查询的数据组织后推送到各渠道 (如钉钉、飞书、企业微信及 Teams),除了能将业务数据组织后推送,也能将数据库自身提供的监控数据组织后推送,这边我们就以 MySQL (也适用于StarRocks) 为例,定期推播 MySQL 的数据量变化等信息,帮助用户掌握 MySQL 状态。
39 1
|
8天前
|
分布式计算 DataWorks 关系型数据库
MaxCompute操作报错合集之配置mysql数据源querysql模式,同步到MC时遇到报错,该怎么处理
MaxCompute是阿里云提供的大规模离线数据处理服务,用于大数据分析、挖掘和报表生成等场景。在使用MaxCompute进行数据处理时,可能会遇到各种操作报错。以下是一些常见的MaxCompute操作报错及其可能的原因与解决措施的合集。
|
8天前
|
分布式计算 关系型数据库 MySQL
MaxCompute产品使用合集之用flink mysql的数据同步到mc的Transaction Table2.0,时间会比mysql的时间多8小时,是什么导致的
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
|
9天前
|
DataWorks NoSQL 关系型数据库
DataWorks产品使用合集之如何从Tablestore同步数据到MySQL
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
|
2月前
|
Shell Android开发
Android系统 adb shell push/pull 禁止特定文件
Android系统 adb shell push/pull 禁止特定文件
163 1
|
2月前
|
Android开发 Python
Python封装ADB获取Android设备wifi地址的方法
Python封装ADB获取Android设备wifi地址的方法
123 0
|
10月前
|
开发工具 Android开发
Mac 安卓(Android) 配置adb路径
Mac 安卓(Android) 配置adb路径
518 0
|
2月前
|
Shell Android开发
ADB更改Android设备屏幕显示方向
ADB更改Android设备屏幕显示方向
156 5