MYSQL变更数据捕获(CDC) - Azure服务(Azure数据工厂)

时间:2017-10-16 08:52:02

标签: mysql etl data-warehouse azure-data-factory

我想对MYSQL数据库的数据表执行ETL操作,并将数据存储在azure数据仓库中。我没有更新日期列来标识该期间的修改记录。我如何知道修改了哪条记录。 MYSQL数据库是否支持CDC?

可以使用azure服务(Azure数据工厂)读取MYSQL binlogs或二进制日志吗?

3 个答案:

答案 0 :(得分:0)

如果您可以将单个语句查询放在一起,它将使用您可以使用的任何函数和联接返回您想要的内容,那么您可以将它放入ADF的sqlReaderQuery部分。

否则你可能会使用存储过程活动(抱歉不熟悉mySQL,因为我是ADF)

答案 1 :(得分:0)

你有任何增加整数的列吗?如果是这样,您仍然可以使用查找活动+复制活动+存储过程活动来获得增量加载。更多详细信息如下:https://docs.microsoft.com/en-us/azure/data-factory/tutorial-incremental-copy-powershell

ADF还没有内置的CDC支持。您可以使用代码通过ADF中的自定义活动来执行此操作。

答案 2 :(得分:0)

在MySQL中,您可以选择添加timestamp列,默认情况下会更新rowlevel上的更新。 CDC不可用,但是当您可以看到de差异时,您可以比较MySQL上的MAX(更新)与(> =)您自己的MAX(ETLDate)以获得所有修改后的记录。