【问题标题】:Talend Data warehousing toolTalend 数据仓库工具
【发布时间】:2014-05-06 18:57:38
【问题描述】:

问题:我有两个数据库,一个是客户的数据库(实时数据库),另一个是我的。我正在使用 MySQL 数据库。我不应该直接访问客户的数据库,所以我创建了自己的数据库。通过使用“Talend”数据仓库工具,我为每个表创建了作业,并通过执行所有作业,我可以将所有更新的数据从客户的数据库(实时数据库)获取到我的数据库。我需要手动执行这些作业以将更新的数据更新到我的数据库中,但我的问题是:当客户端在数据库上插入或更新数据时,是否有任何进程会自动提醒我,以便我可以手动执行这些作业以获取更新数据到我的数据库??或者如果客户更新他们的任何数据库表,那么自动关联的作业将执行/运行?请帮助我。

【问题讨论】:

    标签: mysql database data-warehouse talend


    【解决方案1】:

    您需要设置一个数据库触发器,以某种方式通知 Talend 作业并运行它。为此,您通常会使用存储过程或用户定义的函数将作业称为 Web 服务。例如,This link 展示了一种可以在更新触发器上调用 Web 服务的典型方式。

    如果您的源数据表很大,而不是从表中提取所有数据然后我猜删除您的表并重新创建您可以使用 tMysqlCDC 组件仅影响更改。该组件的内置教程看起来几乎涵盖了实践中的一个有用示例。如果您在源数据库中看到定期更改,这可能会使您的工作更加高效。

    如果您完全无法访问客户的数据库,那么您也可以使用一些调度程序来运行该作业。 Talend 企业版附带 Talend 管理控制台,允许您为作业设置 CRON 触发器,并且可以轻松设置为每分钟或任何其他时间间隔(而不是秒)运行。或者,您可以使用您的操作系统调度系统以您想要的时间间隔运行该作业。

    【讨论】:

    • 为此,您需要使用 talend 的“构建作业”/“导出作业”功能,然后您将拥有一个不错的 .bat / .sh 脚本,它可以与您的操作系统调度程序一起触发。
    【解决方案2】:

    如果您无法修改客户数据库(即添加触发器),并且没有其他方法可以识别更改的记录(即某种审计表),那么您就是我们的幸运。

    【讨论】:

      猜你喜欢
      • 2016-12-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-01-27
      • 2023-03-25
      • 2021-09-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多