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

本文涉及的产品
云原生数据库 PolarDB MySQL 版,Serverless 5000PCU 100GB
简介: 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数据库、数据库生态工具、云原生智能化数据库管控平台,为阿里巴巴经济体以及各个行业的企业客户和开发者提供从公共云到混合云再到私有云的完整解决方案,提供基于云基础设施进行数据从处理、到存储、再到计算与分析的一体化解决方案。本节课带你了解阿里云数据库产品家族及特性。
相关文章
|
4天前
|
分布式计算 DataWorks Java
DataWorks操作报错合集之在使用MaxCompute的Java SDK创建函数时,出现找不到文件资源的情况,是BUG吗
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
26 0
|
4天前
|
分布式计算 DataWorks Oracle
DataWorks操作报错合集之DataWorks ODPS数据同步后,timesramp遇到时区问题,解决方法是什么
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
27 0
|
4天前
|
分布式计算 DataWorks 数据管理
DataWorks操作报错合集之DataWorks中udf开发完后,本地和在MaxCompute的工作区可以执行函数查询,但是在datawork里报错FAILED: ODPS-0130071:[2,5],是什么原因
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
29 0
|
4天前
|
分布式计算 DataWorks 数据库
DataWorks操作报错合集之DataWorks使用数据集成整库全增量同步oceanbase数据到odps的时候,遇到报错,该怎么处理
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
25 0
|
4天前
|
SQL 分布式计算 DataWorks
DataWorks操作报错合集之在DataWorks数据集成中,但是预览ODPS源数据库为空,是什么导致的
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
31 0
|
4天前
|
缓存 DataWorks 监控
DataWorks操作报错合集之在DataWorks中进行数据同步时,遇到数据量大的表同步时报链接异常,该怎么办
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
22 0
|
4天前
|
分布式计算 大数据 BI
MaxCompute产品使用合集之MaxCompute项目的数据是否可以被接入到阿里云的Quick BI中
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
|
4天前
|
SQL 分布式计算 大数据
MaxCompute产品使用合集之怎样可以将大数据计算MaxCompute表的数据可以导出为本地文件
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
|
4天前
|
分布式计算 DataWorks 关系型数据库
MaxCompute产品使用合集之可以使用什么方法将MySQL的数据实时同步到MaxCompute
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
|
4天前
|
分布式计算 DataWorks 关系型数据库
DataWorks产品使用合集之在 DataWorks 中,使用Oracle作为数据源进行数据映射和查询,如何更改数据源为MaxCompute或其他类型
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
32 1

相关产品

  • 云原生数据库 PolarDB