👉🏻场景
一家电商公司的核心交易数据存储在MySQL的 online_orders 表中,数据量每天都在快速增长。数据团队需要每日将前一天产生的新订单数据同步到MaxCompute的表中,用于后续的分析。如何在Dataphin中实现这一增量同步工作的自动化呢?
👉🏻 解决方案及功能
Dataphin 支持将输入输出组件快速转换为脚本模式组件或直接编写离线集成脚本,实现复杂任务编辑的能力。同时配合 querySql 配置项以及灵活的调度参数,可以轻松实现动态SQL过滤等复杂逻辑,满足定制化的数据抽取需求。我们以从MySQL抽取T-1数据到MaxCompute为例,具体实现步骤如下:
- 在「研发」-「数据集成」中,新建一个离线管道任务。从组件面板拖入MySQL输入和MaxCompute输出组件,完成组件连接、来源与目标端的配置。
- 在MySQL输入组件的配置面板,点击右上角的“切换到脚本模式”。
- 在脚本编辑器中,找到 parameter 参数块,在 connection 中添加 querySql参数并使用${extract_date}作为日期占位符写入SQL语句:
"querySql": [ "SELECT {$需要查询的字段} FROM online_orders WHERE create_time >= '${extract_date} 00:00:00' AND create_time < DATE_ADD('${extract_date}', INTERVAL 1 DAY)" ]
- 进入「属性」-「运行参数」,将自定义的参数{extract_date}设置为本地变量并指定参数的默认值为${yyyy-MM-dd}。例如,2026年1月19号时,系统会自动把18号生成新增的订单数据同步进来。
- 最后,点击“运行”,为参数指定具体日期验证SQL逻辑是否正确。测试通过后,提交并发布该任务,它将根据调度周期自动运行,每天精准地抽取前一日的增量数据,实现完全自动化同步。