# 联合查询/更新示例
本示例主要演示使用联合查询/更新将数据导入数据表中。
主要步骤如下:
# 准备数据
创建库dws_source_dev
创建表 dim_suppliers。
CREATE TABLE `dim_suppliers` (
`SUPPLIERID` bigint DEFAULT NULL,
`SUPPLIERCODE` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL,
`SUPPLIERNAME` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL,
`IPOYEAR` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL,
`SECTOR` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL,
`INDUSTRY` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
# 新建转换作业
点击数据加工上的【...】,选择弹出菜单【新建数据加工作业】,作业名称为:联合查询更新示例。
# 拖拽图元
依次拖拽输入中的文本文件输入、数据仓库的综合查询/更新组件,依次连线。如下图所示:
准备一个文件,例如:联合查询数据.txt放置/home/dws/infile下
# 配置组件属性
1、双击"文本文件输入"组件,根据下图所示步骤依次配置。
2、双击"联合查询/更新"组件,根据下图所示步骤依次配置。
3、Ctrl+S保存该模型。
# 运行
点击【运行】按钮,可以运行已经开发完毕的场景。
参考CDC同步关系型数据库示例中的运行
1、运行第一次,此时dim_suppliers已有数据。
2、执行SQL对dim_suppliers进行修改,模拟表中数据与文本文件中数据不一致的情况,再次运行。
UPDATE dws_source_dev.dim_suppliers set suppliercode = 'DDD111' WHERE SUPPLIERID = 2;
# 查看数据
通过图中操作查看数据情况,经过运行后,文本文件中与表中不一致的数据如图所示,可以看出在数据不一致时,插入数据。
再次运行,此时文本文件中的数据与表中数据一致,运行后,查看数据,此操作不更新插入数据。
# 提交版本
当草稿运行正常后,点击【提交】按钮可以将该版本提交到作业调度,每次修改提交都会生成新的版本,可以看到提交的历史版本,并可以随意切换版本。
参考CDC同步关系型数据库示例中的提交版本