使用 Talend Open Studio...
- 第 1 步 - 我使用 tSystem 组件在 PostgreSQL 数据库中执行一组 SQL 语句
- 第 2 步 - 我将 10 个 PostgreSQL 表复制到 SQL Server 数据库中
由于没有相互依赖关系,我想同时执行所有十个表复制操作。如果我使用的是 SSIS,这将是微不足道的:将十个复制表任务放在一个序列容器中,并使用一个优先约束将执行 SQL 脚本链接到序列容器。
Talend Open Studio 有类似于 SSIS 的序列容器吗?
在 Talend Open Studio 中,我知道我可以使用 tSystem 组件中的 OnSubJobOk 触发器,并创建与十个复制表任务中的每一个的连接...但是如果我可以通过一个连接来完成此操作,例如 SSIS 序列container 我更愿意这样做,因为我很懒惰......我的意思是高效!
这里的关键是我想并行执行所有十个复制表任务,以减少总运行时间。
感谢您的见解。
Talend Open Studio for Data Integration 6.3.2
最佳答案
您将有两个选项需要注意。将一一进行。
t并行化
tParallelize 组件可帮助您并行化和同步主作业中众多子作业的执行。因此,在您的情况下,它将同时执行并行子作业中的所有十个复制表任务,并同步主作业中的执行。这里唯一需要注意的是,此功能仅适用于订阅版本。您可以阅读更多相关信息 here .
多线程执行
此功能在作业 View 的额外选项卡上可用。设置 Talend 作业后,您需要选中多线程执行复选框以激活多线程执行功能,这将并行运行您的逻辑。对于 10 个不同的 Sql 输出,您将建立 10 个数据库连接并写入 10 个不同的连接。更多信息 here .
这里要记住的一件事就像 Talend 中的 SSIS(对于 SSIS 它是处理器的数量 + 2)一样,你不能并行化超过你的处理器数量,否则它会等待处理器并且会成为处理器的开销。
关于sql-server - Talend Open Studio 是否有类似于 SSIS 的序列容器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50068810/