使用DataWorks将PolarDB-X中的数据同步到MaxCompute

本文涉及的产品
云原生数据库 PolarDB MySQL 版,通用型 2核4GB 50GB
云原生数据库 PolarDB PostgreSQL 版,标准版 2核4GB 50GB
简介: MaxCompute是适用于数据分析场景的云数据仓库,适用于大型互联网企业的数据仓库和BI分析、网站的日志分析、电子商务网站的交易分析、用户特征和兴趣挖掘等。大数据开发治理平台 DataWorks 基于MaxCompute / EMR / MC-Hologres 等大数据计算引擎,为客户提供专业高效、安全可靠的一站式大数据开发与治理平台。本文介绍 PolarDB-X 与 MaxCompute 系统的快速对接方式,方便您对在线业务数据进行大数据分析。

作者:梦实

MaxCompute是适用于数据分析场景的云数据仓库,适用于大型互联网企业的数据仓库和BI分析、网站的日志分析、电子商务网站的交易分析、用户特征和兴趣挖掘等。大数据开发治理平台 DataWorks 基于MaxCompute / EMR / MC-Hologres 等大数据计算引擎,为客户提供专业高效、安全可靠的一站式大数据开发与治理平台。本文介绍 PolarDB-X 与 MaxCompute 系统的快速对接方式,方便您对在线业务数据进行大数据分析。

前提

创建或者使用已有的PolarDB-X实例
DataWorks中创建好项目
MaxCompute中建好集群
在DataWorks中准备好MaxCompute的数据源
以上这些请自行参考相关文档完成。

准备测试数据

我们首先在PolarDB-X中创建一些测试数据。

1.建库,并创建一张表:

create database d1 mode=auto;
use d1;
CREATE TABLE `t1` (
        `id` int(11) NOT NULL AUTO_INCREMENT,
        `c1` int(11) DEFAULT NULL,
        `gmt_create` datetime DEFAULT CURRENT_TIMESTAMP,
        PRIMARY KEY (`Id`)
);

2.制造一些数据:

insert into t1 values (null,rand()*20000,now());
insert into t1 select null,rand()*20000,now() from t1;
insert into t1 select null,rand()*20000,now() from t1;
insert into t1 select null,rand()*20000,now() from t1;
insert into t1 select null,rand()*20000,now() from t1;
insert into t1 select null,rand()*20000,now() from t1;
insert into t1 select null,rand()*20000,now() from t1;
insert into t1 select null,rand()*20000,now() from t1;
insert into t1 select null,rand()*20000,now() from t1;
insert into t1 select null,rand()*20000,now() from t1;
insert into t1 select null,rand()*20000,now() from t1;
insert into t1 select null,rand()*20000,now() from t1;
insert into t1 select null,rand()*20000,now() from t1;
insert into t1 select null,rand()*20000,now() from t1;
insert into t1 select null,rand()*20000,now() from t1;
insert into t1 select null,rand()*20000,now() from t1;
insert into t1 select null,rand()*20000,now() from t1;
insert into t1 select null,rand()*20000,now() from t1;
insert into t1 select null,rand()*20000,now() from t1;

创建数据源

为了让DataWorks能读取PolarDB-X的数据,需要创建一个数据源。

1.进入DataWorks控制台,选择数据集成:

01.jpg
2.点击左边的数据源:

02.jpg
3.点击右上角新增数据源:
03.jpg
4.选择DRDS:
04.jpg

5.数据源类型选择连接串模式,将PolarDB-X实例的内网地址拼在JDBC URL中,并测试连通性通过:
05.jpg

注意,这里前提了已经有了独享数据集成资源组,并已打通了与该PolarDB-X实例之间的网络。如果未满足该前提,需要先额外完成下面的支线任务:

支线:创建独享数据集成资源组并打通网络
1.在没有独享数据集成资源组的情况下,需要先创建一个独享数据集成资源组:
20221226112544.jpg
2.将该独享数据集成资源组的网络与我们的PolarDB-X实例打通,操作入口地址:https://workbench.data.aliyun.com/?xconsole=true#/resourcelist/?region=cn-hangzhou&tab=exclusive

3.点击网络设置:
b1.jpg
4.点击新增绑定:
20221226113814.jpg
5.选择PolarDB-X实例对应的网络信息,重点是专有网络、可用区、交换机。安全组暂不明实际意义,可以随便选一个。
20221226113908.jpg
6.记录绑定网络后,该资源组的交换机网段:
20221226114034.jpg

7.在PolarDB-X控制台上,将上面记录的网段添加到白名单中:
20221226114128.jpg
20221226114157.jpg
8.注意,更复杂的网络模型(例如跨账号等),请参考DataWorks官方文档提供的各种解决方案。

创建同步任务

这里以创建一个“一次性全量同步到MaxCompute任务”为例。

1.在同步任务菜单中,点击新建任务:
c1.jpg
2.数据来源选择DRDS,数据去向选择MaxCompute,同步方案选择“整库离线同步至MaxCompute(一次性全量)”,点击下一步:

c2.jpg
3.选择之前创建的数据源、资源组,以及MaxCompute的信息,并测试通过连通性:
c3.jpg
4.选择要同步的表:
c4.jpg
5.刷新下表映射:
c5.jpg
6.一路下一步,最后执行同步任务:
c6.jpg
7.在执行详情中,可以看到同步的结果:
c7.jpg

常见问题

  1. 对于PolarDB-X 1.0(DRDS)与PolarDB-X 2.0均适用于本文中的方法
  2. 对于PolarDB-X 2.0,mode=auto于mode=drds的数据库均适用于本文中的方法
  3. 在DataWorks中,一律选择DRDS。(由于PolarDB-X和MySQL的高度兼容,选择MySQL也没啥问题,但选择DRDS我们内部做过对应的优化,性能会更好)
  4. 本文中的PolarDB-X实例版本为:5.4.15-16704996,请尽可能不低于此版本,老的版本中INFORMATION_SCHEMA存在一些兼容性问题,可能无法与DataWorks工作的很好
  5. 对于开源自建的PolarDB-X实例,同样适用于本文中的方法。核心在于使用连接串来创建数据源,并打通网络。
  6. 通过DataWorks将数据同步到其他地方也是大同小异,参考本文方法即可
相关实践学习
使用PolarDB和ECS搭建门户网站
本场景主要介绍基于PolarDB和ECS实现搭建门户网站。
阿里云数据库产品家族及特性
阿里云智能数据库产品团队一直致力于不断健全产品体系,提升产品性能,打磨产品功能,从而帮助客户实现更加极致的弹性能力、具备更强的扩展能力、并利用云设施进一步降低企业成本。以云原生+分布式为核心技术抓手,打造以自研的在线事务型(OLTP)数据库Polar DB和在线分析型(OLAP)数据库Analytic DB为代表的新一代企业级云原生数据库产品体系, 结合NoSQL数据库、数据库生态工具、云原生智能化数据库管控平台,为阿里巴巴经济体以及各个行业的企业客户和开发者提供从公共云到混合云再到私有云的完整解决方案,提供基于云基础设施进行数据从处理、到存储、再到计算与分析的一体化解决方案。本节课带你了解阿里云数据库产品家族及特性。
相关文章
|
1月前
|
分布式计算 DataWorks 调度
oss数据同步maxcompute报错
在使用阿里云DataWorks同步OSS数据至MaxCompute时,遇到“Input is not in the .gz format”的报错。问题源于目标目录中存在一个空文件,导致同步时识别错误。
|
2月前
|
DataWorks Kubernetes 大数据
飞天大数据平台产品问题之DataWorks提供的商业化服务如何解决
飞天大数据平台产品问题之DataWorks提供的商业化服务如何解决
|
2月前
|
关系型数据库 MySQL 分布式数据库
PolarDB 并行查询问题之大数据量的实时分析查询挑战如何解决
PolarDB 并行查询问题之大数据量的实时分析查询挑战如何解决
32 2
|
2月前
|
SQL 分布式计算 DataWorks
DataWorks产品使用合集之未保存的ODPS SQL语句该如何找回
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
|
2月前
|
分布式计算 DataWorks 关系型数据库
DataWorks产品使用合集之ODPS数据怎么Merge到MySQL数据库
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
|
2月前
|
Oracle 关系型数据库 分布式数据库
实时计算 Flink版产品使用问题之怎么实现跨多个DRDS的数据同步
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
2月前
|
存储 关系型数据库 大数据
PolarDB 大数据处理能力及其应用场景
【8月更文第27天】随着数据量的爆炸性增长,传统的数据库系统面临着存储和处理大规模数据集的挑战。阿里云的 PolarDB 是一种兼容 MySQL、PostgreSQL 和高度可扩展的关系型数据库服务,它通过其独特的架构设计,能够有效地支持海量数据的存储和查询需求。
77 0
|
2月前
|
分布式计算 DataWorks 数据管理
DataWorks操作报错合集之写入ODPS目的表时遇到脏数据报错,该怎么解决
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
|
2月前
|
分布式计算 DataWorks NoSQL
DataWorks操作报错合集之遇到报错:failed: ODPS-0130071:[1,36] Semantic analysis exception,该怎么解决
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
|
2月前
|
SQL 分布式计算 DataWorks
DataWorks操作报错合集之如何解决datax同步任务时报错ODPS-0410042:Invalid signature value
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。

相关产品

  • 云原生数据库 PolarDB