限制读取内容

Setting up Data Reading Restraints

限制读取内容是对数据源中数据读取的限制配置,通常用于增量识别字段模式指定增量数据的获取。

关于此功能

在增量识别字段模式获取增量数据时,我们提供lastmax()函数配置的方式来指定增量数据获取。

在通过JDBC读取数据时,通过指定限制读取内容条件(即where语句)即可限制读取范围。

操作步骤

  1. 在数据映射--表映射页面点击限制读取内容按钮;

  2. 或在数据映射--字段映射页面点击编辑读取条件,进入限制读取内容配置弹窗:

  • 您可根据需求设置 WHERE 语句,DataPipeline 提供 last_max()函数帮助用户解决定时读取增量数据的需求。

    • last_max()函数

      • 使用该函数 DataPipeline 会取该任务下已同步数据中某一个字段的最大值,您可以使用该值作为 WHERE 语句读取条件。

      • 使用 last_max()函数,在第一次执行该语句或对应字段暂无数值,则会忽略该函数相关的读取条件。

    • 例子一:

      • 已同步数据中,取某一个字段的最大值用于读取条件。

      • SELECT * FROM table1 WHERE _id>=last_max(_id)

      • 注:每次执行批量读取时,使用 last_max 自定义函数取已同步数据中「_id」字段最大值,读取大于等于「id」已同步最大值的数据。

    • 例子二:

      • 以日期字段作为读取条件,每次只同步当前日期减一天的数据,并且只同步未曾读取的数据。

      • SELECT * FROM E_Commerce_Retail_Sales WHERE date >last_max(date) and date <=CURDATE()-1

      • 每次只同步 date 字段值大于已同步数据中 date 字段最大值,并且只同步昨天的数据(date 字段值)。

注意事项

circle-info

选择合适的增量识别字段有助于增量任务稳定运行,通常情况下选取日期、时间戳、数字自增id等字段作为增量识别字段配置相对容易,且计算更加稳定。

下一步

配置清洗脚本chevron-right

最后更新于

这有帮助吗?