一、 实验概述
DataWorks(数据工场,原大数据开发套件DataIDE)是阿里云数加重要的PaaS平台产品,提供数据集成、数据开发、数据管理、数据治理、数据分享等全方位的产品服务,一站式开发管理的界面,帮助企业专注于数据价值的挖掘和探索。
DataWorks基于MaxCompute作为核心的计算、存储引擎,提供了海量数据的离线加工分析、数据挖掘的能力。
通过DataWorks,可对数据进行传输、转换、集成的操作,从不同的数据存储引入数据,对数据进行转化和开发,最后将数据输送到其他数据系统。
二、实验目的
通过创建项目、同步数据、编写SQL程序、配置调度任务、运维监控等环节,实现完整的数据处理流程。
三、 实验场景
模拟Mysql数据库为生产系统,实现从生产系统抽取数据到MaxCompute中,进行数据自动化分析处理。
第 1 章:实验准备
1.1 申请阿里云资源
在弹出的左侧栏中,点击 创建资源 按钮,开始创建实验资源。
资源创建过程需要1-3分钟。完成实验资源的创建后,用户可以通过 实验资源 查看实验中所需的资源信息,例如:阿里云账号等。
1.2 资源环境准备
登录云中沙箱,进入实验,点击“实验资源”,查看所需具体资源。
本实验需开通资源为MaxCompute和RDS。
点击“创建资源”,即可进入实验环境。(由于实验环境一旦开始创建则进入计时阶段,建议学员先基本了解实验具体的步骤、目的,真正开始做实验时再进行创建)
创建资源需要几分钟时间,请耐心等候……
说明:
企业别名:即主账号ID;
子用户名称和子用户密码:登录实验环境以及配置MaxCompute 数据源时需要;
AKID和AK Secret:系统为本用户分配的登录验证密钥信息,在配置客户端及数据源时应用;
控制台url:登录实验环境的地址;
1.3 进入实验环境
步骤一:登录管理控制台
资源开通后,点击左侧菜单栏中“控制台url”链接,进入用户登录页面。
输入资源提供的“子用户名称”和“子用户密码”登录。
登陆成功后,进入管理控制台页面:
步骤二:打开“DataWorks”
展开左侧菜单,点击“产品与服务”,在“大数据(数加)”产品列表中,点击“DataWorks”。
步骤三:创建项目
创建项目需要管理员权限,沙箱实验环境默认创建完项目:
步骤四:进入数据开发
选中项目,点击“进入数据开发”,则进入“数据开发”环境。
第 2 章:实验内容
2.2 数据同步
本小节实验目的:实现从MySQL数据源同步数据到MaxCompute中。
在DataWorks中,通常使用数据集成功能,将您的系统中产生的业务数据定期导入到工作区,通过SQL任务的计算后,再将计算结果定期导出到您指定的数据源中,以便进一步展示或运行使用。
2.1.1 新建RDS数据库
1)创建实例
云中沙箱实验环境已创建完成RDS数据库实例。登录管理控制台,在“产品与服务”列表中,选择“云数据库RDS版”。
选择地域,查看实例。(地域选择请查看实验资源中开通的地域。)
点击实例后面的“管理”,进入管理页面。
2)创建数据库
打开左侧菜单栏中的“数据库管理”菜单,点击“创建数据库”。
输入数据库名称,选择字符集,然后点击创建。
点击“刷新”按钮,查看状态。数据库创建成功后,状态显示“运行中”。
3)创建账号
打开左侧菜单栏的“账号管理”,点击“创建账号”,跳转到账号创建页面。
账号类型选择“普通账号”,设置账号密码,并给授权数据库,然后点击确定。
账号创建成功后,用户账号状态显示“激活”。
4)登录数据库
点击页面上方的“登录数据库”按钮,跳转到数据库登录页面。
输入账号密码,点击登录。
登录成功后,默认显示如下页面。即可进行相关数据库操作。
2.1.2 数据上传到RDS
1)新建表
登录RDS库,在顶部“SQL操作”菜单中,打开“SQL窗口”。
创建表t_dml_data,用于模拟存储业务系统的生产数据。
输入SQL建表语句,点击“执行”,成功后刷新左侧列表,窗口可显示刚建的表。
建表语句如下:
create table IF NOT EXISTS t_dml_data ( detail_id bigint, sale_date datetime, province VARCHAR (20), city VARCHAR (20), product_id bigint, cnt bigint, amt double, PRIMARY KEY (detail_id) );
2)上传本地数据
在顶部“数据方案”菜单栏中,选择“导入”。
点击“新增任务”,选择数据文件类型、数据表名称、数据文件等信息,然后点击“开始”,执行数据导入任务。
如下图,导入任务完成后,会显示数据导入详情。
关闭详情,可看到该任务。
点击左侧列表中的刷新按钮,可看到表,右键选择“打开表”,可看到表中的数据信息。
2.1.3 ODPS中添加RDS数据源
打开数据开发页面,点击“DataWorks”图标, 在下拉列表中选择“数据集成”。
点击左侧菜单中的 “数据源”,然后点击右上角的 “新增数据源”,如下图所示
弹出 “新增数据源”对话框,选择关系型数据库MySQL。
在”新增MySQL数据源”弹出框中填写相关配置项;
◆ 数据源名称:自定义
◆ RDS实例ID: 查看实验资源中的“实例”信息
◆ RDS实例主账号ID: 查看实验资源中的“企业别名”信息
◆ 数据库名:前面章节创建的数据库名称
◆ 用户名:登录数据库的用户名
◆ 密码:登录数据库的密码
点击“测试连通性”,数据库连接测试成功后,点击“完成”。如下图所示:
数据源自动添加到数据源列表中。
2.1.4 同步RDS数据到ODPS
1)新建业务流程
打开数据开发页面。展开左侧菜单,点击“数据开发”,然后新建“业务流程”。
弹出“新建业务流程”对话框,输入业务名称
2)新建数据同步节点
在数据集成中点击“离线同步”。
弹出“新建节点”对话框,输入节点名称,点击“提交”。
3)双击节点,进行数据同步设置。
①选择数据源
设置数据来源,选择MySQL库,rds_lab数据源,t_dml_data表。
设置数据去向,选择ODPS库,odps_first数据源,点击一键生成目标表。
填写目标表的分区信息。本示例中,分区为变量${sdate}
一键生成目标表,注意修改SQL语句的表名,然后点击“新建表”。
②字段映射
源表和目标表进行字段映射。选择“同名映射”。
③设置通道控制信息。
④调度配置
在右侧“参数配置”中给变量赋值:sdate=2017,设置调度周期和时间。
在“调度依赖中”,点击“使用工作空间根节点”,点击“保存”。
4)同步数据
设置完成后,“提交”业务流程。
选择要提交的“节点名称”,填写“备注”,然后点击“提交”。
提交成功后,显示如图所示信息:
点击“运行”,执行数据同步任务
当数据同步完成后,节点状态图表变成如下图所示: