# MaxCompute多表数据同步示例
本示例主要演示从MaxCompute源库中读取两张表userinfo、orderinfo的数据,通过转换组件FieldRename组件重命名字段名称,将数据写入MaxCompute目标库表中。
FieldRename组件重命名字段名称,对于目标端 表添加模式 开启自动建表时有效。
主要步骤如下:
# 准备数据
创建表 userinfo 和 userinfo 作为源表,并给源表 INSERT 一些数据。
DROP TABLE IF EXISTS dws_source.orderinfo;
-- ---------------------------------------
-- Table structure for orderinfo
-- ---------------------------------------
CREATE TABLE dws_source.orderinfo (
ordercode varchar(32),
amount INT,
price varchar(32),
manufacturer varchar(32),
createtime DATETIME,
createuser varchar(32),
updatetime DATETIME
);
-- ----------------------------
-- Records of orderinfo
-- ----------------------------
INSERT INTO dws_source.orderinfo
(ordercode, amount, price, manufacturer, createtime, createuser, updatetime)
VALUES('001', 1800, '5900', '天威科技11', CAST('2018-12-13 08:00:00' AS DATETIME), '魏雨', CAST('2018-12-13 08:00:00' AS DATETIME));
INSERT INTO dws_source.orderinfo
(ordercode, amount, price, manufacturer, createtime, createuser, updatetime)
VALUES('002', 1800, '9000', '天威科技11', CAST('2018-12-13 08:00:00' AS DATETIME), '魏雨', CAST('2018-12-13 08:00:00' AS DATETIME));
INSERT INTO dws_source.orderinfo
(ordercode, amount, price, manufacturer, createtime, createuser, updatetime)
VALUES('003', 1800, '5900', '天威科技', CAST('2018-12-13 08:00:00' AS DATETIME), '魏雨', CAST('2018-12-13 08:00:00' AS DATETIME));
INSERT INTO dws_source.orderinfo
(ordercode, amount, price, manufacturer, createtime, createuser, updatetime)
VALUES('004', 2000, '5000', '微云科技', CAST('2018-12-13 08:00:00' AS DATETIME), '王林', CAST('2018-12-13 08:00:00' AS DATETIME));
INSERT INTO dws_source.orderinfo
(ordercode, amount, price, manufacturer, createtime, createuser, updatetime)
VALUES('005', 3000, '666', '西安金属', CAST('2018-12-13 08:00:00' AS DATETIME), '王强', CAST('2018-12-13 08:00:00' AS DATETIME));
-- ---------------------------------------
-- Table structure for userinfo
-- ---------------------------------------
DROP TABLE IF EXISTS dws_source.userinfo;
CREATE TABLE dws_source.userinfo (
usercode varchar(32),
username varchar(20),
sex char(3),
age INT,
unitcode varchar(32),
deptcode varchar(32),
telephone varchar(32),
createtime Date,
updatetime Date
);
-- ----------------------------
-- Records of userinfo
-- ----------------------------
INSERT INTO dws_source.userinfo
(usercode, username, sex, age, unitcode, deptcode, telephone, createtime, updatetime)
VALUES('2', '王建国', '男', 20, '普元信息', '售后', '18977889900', CAST('2018-12-13' AS DATE), CAST('2018-12-13' AS DATE));
INSERT INTO dws_source.userinfo
(usercode, username, sex, age, unitcode, deptcode, telephone, createtime, updatetime)
VALUES('5', '刘飞', '男', 25, '普元信息', '事业部', '15091345789', CAST('2018-12-13' AS DATE), CAST('2018-12-13' AS DATE));
INSERT INTO dws_source.userinfo
(usercode, username, sex, age, unitcode, deptcode, telephone, createtime, updatetime)
VALUES('3', '王强', '男', 25, '普元信息', '售后', '15389012334', CAST('2018-12-13' AS DATE), CAST('2018-12-13' AS DATE));
INSERT INTO dws_source.userinfo
(usercode, username, sex, age, unitcode, deptcode, telephone, createtime, updatetime)
VALUES('4', '魏雨', '女', 26, '普元信息', '售后', '15309872351', CAST('2018-12-13' AS DATE), CAST('2018-12-13' AS DATE));
INSERT INTO dws_source.userinfo
(usercode, username, sex, age, unitcode, deptcode, telephone, createtime, updatetime)
VALUES('1', '张聪', '男', 80, '普元信息', '技术部', '18091256632', CAST('2018-12-13' AS DATE), CAST('2018-12-13' AS DATE));
# 新建同步作业
点击数据同步上的【...】,选择弹出菜单【新建数据同步作业】,作业名称为:MaxComputeSource-FieldRename-MaxComputeSink-MultiTable。
# 拖拽图元
依次拖拽数据源中的MaxCompute Source组件、转换中的FieldRename组件和目标中的MaxCompute Sink组件,依次连线。如下图所示:

# 配置组件属性
1、双击"MaxCompute Source"组件,根据下图所示步骤依次配置。

2、双击"FieldRename"组件,根据下图所示步骤依次配置。

3、双击"MaxCompute Sink"组件,根据下图所示步骤依次配置。

4、Ctrl+S保存该模型。
# 运行
点击【运行】按钮,可以运行已经开发完毕的场景,在日志栏可以看运行日志及运行结果。

# 查看数据
从SQL客户端中查看源库dws_source的orderinfo、userinfo表数据已经同步到目标库dws_720的orderinfo、userinfo表中。
目标表orderinfo结果数据

目标表userinfo结果数据

# 提交版本
当草稿运行正常后,点击【提交】按钮可以将该版本提交到作业调度,每次修改提交都会生成新的版本,可以看到提交的历史版本,并可以随意切换版本。
提交后的版本,可以在作业调度中进行"定时"调度配置。
