在 DataWorks(数据工场,原大数据开发套件)中,通常使用数据集成功能,将您的系统中产生的业务数据定期导入到工作区,通过工作流任务的计算后,再将计算结果定期导出到您指定的数据源中,供进一步展示或运行使用。
目前数据集成功能支持从以下数据源中将数据导入工作空间或将数据从工作空间导出:RDS、MySQL、SQL Server、PostgreSQL、MaxCompute、OCS、DRDS、OSS、Oracle、FTP、 dm、Hdfs、MongoDB 等,详细的数据源类型列表请参见 支持数据源类型。
本文将以 MySQL 数据源为例,说明如何利用数据集成功能将 DataWorks 中的数据导出到 MySQL 数据源中。
如果您是 ECS 上自建的数据库 或者是 RDS/MongoDB 等数据源,需要在自己的 ECS 添加安全组 或 RDS/MongoDB 等管控台添加白名单,详情请参见 添加白名单和安全组。
注意:若使用自定义资源组调度 RDS 的数据同步任务,必须把自定义资源组的机器 IP 也加到 RDS 的白名单中。
注意:只有项目管理员角色才能够新建数据源,其他角色的成员仅能查看数据源。
1)以项目管理员身份进入 DataWorks 管理控制台,单击 项目列表 下对应项目操作栏中的 进入工作区。
2)进入顶部菜单栏中的 数据集成 页面,单击左侧导航栏中的 数据源。
3)单击右上角的 新增数据源,如下图所示:
4)填写新增数据源弹出框中的各配置项,如下图所示:
配置说明如下:
配置项 |
说明 |
数据源类型 |
有公网IP。 |
数据源名称 |
字母、数字、下划线组合,且不能以数字和下划线开头。比如:abc_123。 |
数据源描述 |
不超过80个字符。 |
JDBC URL |
JDBC 连接信息,格式为:jdbc:mysql://host:port/database。 |
用户名/密码 |
数据库对应的用户名和密码。 |
5)不同数据源类型对应的配置说明,请参见 数据源配置。
6)单击 测试连通性。
7)若测试连通性成功,单击 保存 即可。
若测试连通性失败,请根据自身情况参见 ECS 上自建的数据库测试连通性失败 或 RDS 数据源测试连通性不通。
在 MySQL 数据库中创建表 odps_result ,建表语句如下所示:
CREATE TABLE `ODPS_RESULT` ( `education` varchar(255) NULL , `num` int(10) NULL )
建表完成后,可通过 desc odps_result;
语句查看表详情。
本节将新建一个同步节点 write_result 并进行配置,以把表 result_table 中的数据写入到自己的 MySQL 数据库中。具体操作如下:
1)新建同步节点 write_result,如下图所示:
2)选择来源。
选择 MaxCompute 数据源及源头表 result_table,然后单击 下一步,如下图所示:
3)选择目标。
选择 Mysql 数据源及目标表 odps_result,然后单击 下一步,如下图所示:
3)映射字段。
选择字段的映射关系。需对字段映射关系进行配置,左侧 源头表字段 和右侧 目标表字段 为一一对应的关系。
4)通道控制。
单击 下一步,配置作业速率上限和脏数据检查规则,如下图所示:
5)预览保存。
完成以上配置后,上下滚动鼠标可查看任务配置,如若无误,单击 保存,如下图所示:
?
同步任务保存后,单击右边的 提交,将同步任务提交到调度系统中,调度系统会按照配置属性在从第二天开始自动定时执行。
现在,您已经学习了如何创建同步任务把数据导出到不同类型的数据源中,您可以继续学习下一个教程。在该教程中您将学习如何设置同步任务的调度属性和依赖关系。详情请参见 设置任务的调度属性和依赖关系。