本文为您介绍如何通过DataWorks的数据集成功能,迁移Oracle数据至MaxCompute。
前提条件
- 准备DataWorks环境
- 开通MaxCompute和DataWorks。
- 创建工作空间(本文以简单模式的工作空间为例)。
- 在DataWorks上创建业务流程。详情请参见创建业务流程。
- 准备Oracle环境
本文中的Oracle安装在云服务器ECS上,ECS具体配置如下。为了让网络互通,您需要给ECS配置公网IP,并且配置ECS的安全组规则放通Oracle数据库的常用端口1521。关于ECS安全组配置详情请参见修改安全组规则。
如上图所示,本文中的ECS规格为ecs.c5.xlarge,使用专有网络,区域为华东1(杭州)。
背景信息
本文需要使用DataWorks Oracle Reader读取Oracle中的测试数据,详情请参见Oracle Reader。
准备Oracle测试数据
- 进入Oracle图形化操作界面,新建表DTSTEST.GOOD_SALE,主要包括create_time、category、brand、buyer_id、trans_num、trans_amount、click_cnt这7列。
- 插入测试数据,本文中手动插入数据如下。
insert into good_sale values('28-12月-19','厨具','品牌A','hanmeimei','6','80.6','4'); insert into good_sale values('21-12月-19','生鲜','品牌B','lilei','7','440.6','5'); insert into good_sale values('29-12月-19','衣服','品牌C','lily','12','351.9','9'); commit;
- 插入数据后,执行如下语句查看表数据。
select * from good_sale;
通过DataWorks将数据从Oracle迁移至MaxCompute
- 进入数据开发页面。
- 登录DataWorks控制台。
- 在左侧导航栏,单击工作空间列表。
- 选择工作空间所在地域后,单击相应工作空间后的进入数据开发。
- 在数据开发页面创建目标表,用于接收从Oracle迁移的数据。
右键单击已创建的业务流程,选择 。
在新建表页面,选择引擎类型并输入表名。
在表的编辑页面,单击DDL。
- 在DDL模式对话框,输入建表语句,单击生成表结构。
CREATE TABLE good_sale ( create_time string, category string, brand string, buyer_id string, trans_num bigint, trans_amount double, click_cnt bigint ) ;
在建表过程中,需要考虑Oracle数据类型与MaxCompute数据类型的映射,Oracle Reader支持的数据类型请参见类型转换列表。
单击提交到生产环境。
- 新建Oracle数据源,详情请参见配置Oracle数据源。
- 创建离线同步节点。
进入数据开发页面,右键单击指定业务流程,选择 。
在新建节点对话框中,输入节点名称,并单击确认。
- 成功创建数据同步节点后,选择数据源为您刚刚添加的Oracle数据源,表为您刚刚创建的测试表格,选择同名映射。其它参数保持默认配置。
单击
图标运行代码。
您可以在运行日志查看运行结果。
验证结果
右键单击业务流程,选择 。
在新建节点对话框中输入节点名称,并单击确认。
- 在ODPS SQL节点编辑页面输入如下语句。
--查看是否成功写入MaxCompute。 select * from good_sale;
单击
图标运行代码。
您可以在运行日志查看运行结果。