【发布时间】:2016-06-05 07:59:19
【问题描述】:
我们有少量的 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)
我们也尝试使用 Link 来理解:
同样,我尝试了大约十几个 Talend 的链接。但它要求发布/订阅机制,仅在 SQL Server CDC 功能开启时支持。 因此无法以 talend 的方式做到这一点。
https://www.pivotalguru.com/?page_id=35
有什么方法可以在 gpdb 中使用 SQL 实现增量加载而不是完全加载。 和 有什么方法可以将 SQL SERVER DDL 语法转换为 Greenplum。
是否有在 gpdb 中实施 CDC 的分步文档或指南?
任何帮助将不胜感激?
【问题讨论】:
标签: sql-server talend greenplum cdc hawq