【问题标题】:Pentaho - Execute simultaneouslyl stored procedures on different hostsPentaho - 在不同主机上同时执行存储过程
【发布时间】:2017-03-08 13:02:34
【问题描述】:

我在不同的主机上有相同的存储过程,如下所示:

Host1 -> sqlserveristance--> master(db) ---> sp_name
Host2 -> sqlserveristance--> master(db) ---> sp_name
....

每个存储过程的执行时间都很长,这就是为什么我想同时执行而不是顺序执行。主机名存储在一个文件中,我为每个设置环境变量以在数据库连接参数中使用。

这正是我的工作:

Job1 Trasformation1.1 --read file and copy rows to result
Job2 ( checked "execute for every input row")
Trasformation2.1 --get rows from result and set variables Hostname
Trasformation2.2 -- use ${HostName} to execute sql script

但似乎每个 SQL 脚本都是按顺序运行的。

【问题讨论】:

    标签: sql-server stored-procedures pentaho etl


    【解决方案1】:

    如果你想以不同的参数并行执行相同的转换,那么你可以使用Transformation executor step。

    为了指定并行线程的数量,您可以右键单击该步骤,然后选择Change number of Copies to start选项。请记住将上一步的 data movement 选项设置为 round-robin(而不是 copy data),以便上一步将输出行分布在转换执行器的副本中。

    您可以将上一步的输出列映射到Parameters选项卡上的子转换参数。

    建议的工作流程:

    <Main.ktr>:
        [Text file input] Read connection details
         || data movement: round-robin
         ||
         \/
        [Transformation executor] (x2 copies, pass HostName column as a parameter)
        <sub-transformation.ktr>:
            [Execute SQL script] (use ${HostName} to execute sql script)
    

    【讨论】:

      猜你喜欢
      • 2014-10-15
      • 1970-01-01
      • 1970-01-01
      • 2010-10-05
      • 2017-03-03
      • 2017-03-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多