如何在greenplum中实施CDC?

时间:2016-06-05 07:59:19

标签: sql-server talend greenplum cdc hawq

我们有一小部分gpdb和关键的hadoop。我们正在尝试使用gpdb做CDC。

我们使用SQL Server 2012作为外部数据源。我们只读取客户端END的SQL SERVER访问权限。因此,SQL Server不允许捕获数据集成工具的CDC机制。

我们必须在greenplum中实施CDC。这样它每次只带来改变的行而不是满载。这也会导致批处理作业的每个日程安排SQL服务器。

我们尝试了关注SQL

这是完整的CDC查询,它决定每一行的行动

select * from (select *,case when ( a.ID is null) then 'I'
when ( a.ID is not null and  a.SalesOrder = a.SalesOrder and  a.SalesOrderLine = a.SalesOrderLine) then 'N'
when ( a.ID is not null and ( a.SalesOrder != a.SalesOrder or  a.SalesOrderLine != a.SalesOrderLine)) then 'U'
else 'X'
end as increment_action from tablename)

我们还尝试了解使用链接:

同样,我已经尝试过来自Talend的十几个链接。但是它要求pub / sub机制,它只支持SQL Server CDC功能启用时。 因此无法从talend的方式做到这一点。

https://www.pivotalguru.com/?page_id=35

有没有办法在gpdb中使用SQL实现增量加载而不是满载。 和 有没有办法将SQL SERVER DDL语法转换为Greenplum。?

是否有在gpdb中实施CDC的分步文档或指导?

对此有任何帮助将不胜感激?

1 个答案:

答案 0 :(得分:2)

Outsourcer做CDC,它是开源的。您可以使用Outsourcer或查看代​​码以查看它是如何完成的,并使用您自己的代码重新创建它。

Outsourcer Replication

Source Code