【问题标题】:Is it Possible to have Multiple Kettle property files with multiple values but same parameter name是否可以有多个具有多个值但参数名称相同的 Kettle 属性文件
【发布时间】:2015-03-16 19:28:41
【问题描述】:

是否可以有多个具有多个值但参数名称相同的 Kettle 属性文件 例如。我在kettle属性中将client_id和client_name定义为1和Microsoft,并且我想存储相同的参数,但值是不同的client_id = 2 client_name = Google在单独文件夹中的单独kettle.properties文件中。所以是可以在具有多个kettle.properties的多个文件夹结构中拥有相同的ETL。因此,在执行两个ETL中的每一个期间,它将从kettle属性中读取参数并相应地以不同的值加载到输出中。

【问题讨论】:

  • 是的,很有可能。每当您尝试运行 etl 时,请尝试读取每个属性文件。如果您将它设置为并行并执行它,它将不起作用。
  • 绝对有可能。此外,这就是您动态设计批处理的方式(请参阅下面的答案)。您不会为两个不同的客户端编写两次相同的代码。相反,同一进程的多个不同配置文件。

标签: kettle pdi


【解决方案1】:

当然,这就是它的工作原理。 把它放到shell代码中,下面是一个相同的提取过程的例子,在不同的路径下完全不同的属性文件,写两个不同的日志文件(Linux的例子,Windows的想法类似):

客户端 #1 的命令:

~/path/to/your/pdi/environment/base/kitchen.sh - \
file=/path/to/your/extraction/Your_main_process_job.kjb - \
param:Extraction.Properties.Filename.Directory=/path/to/client_1_config/ \
> ~/path/to/client_1_log/batch_run_$(date +\%Y\%m\%d_\%H\%M).log&
  • 使用作业文件文件调用 shell 脚本kitchen.sh Your_main_process_job.kjb
  • 带配置目录 client_1_config
  • 输出日志到client_1_log日志文件夹

客户端 #2 的命令:

~/path/to/your/pdi/environment/base/kitchen.sh - \
file=/path/to/your/extraction/Your_main_process_job.kjb - \
param:Extraction.Properties.Filename.Directory=/path/to/client_2_config/ \
> ~/path/to/client_2_log/batch_run_$(date +\%Y\%m\%d_\%H\%M).log&
  • 同上
  • 带配置目录 client_2_config
  • 输出日志到client_2_log日志文件夹

我希望这会有所帮助。

【讨论】:

    猜你喜欢
    • 2016-02-04
    • 2018-11-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-06-14
    • 2014-05-03
    • 2014-05-13
    相关资源
    最近更新 更多