Pentaho Kettle:在 运行 时间改变 meta
Pentaho Kettle: changing meta at run-time
我想知道 Kettle(AKA Pentaho PDI)是否支持在 运行 时更改元数据。
我实现了几个自定义插件:
- 第一个插件向第二个插件发送数据。当某些情况发生时,输出中发送的行的元数据可能会发生变化。实际上,这意味着
processRow()
从某个元数据开始,然后在一段时间后更改它。当然,通过 putRow()
在输出中发送的行始终与相关元数据同步。
- 第二个插件从第一个插件接收数据,调用
getInputRowMeta()
了解接收行的元数据。但是,此类元数据似乎与接收到的行不同步。
鉴于这个简单示例的结果,我想知道 Kettle 引擎是否支持这种 运行 时间行为 --- 即如果 getInputRowMeta()
returns 正确的元数据已收到的特定行。
是否有人能够提供证据证明实际上不可能更改元数据?否则,是否有任何安全的方法来获取 processRow()
中收到的特定行的元数据?
摘自本书第 616 页Pentaho Kettle Solutions:
The calculation of the output row
metadata is something that needs to happen once and only once because the layout of
all the output rows needs to be the same.
我想知道 Kettle(AKA Pentaho PDI)是否支持在 运行 时更改元数据。
我实现了几个自定义插件:
- 第一个插件向第二个插件发送数据。当某些情况发生时,输出中发送的行的元数据可能会发生变化。实际上,这意味着
processRow()
从某个元数据开始,然后在一段时间后更改它。当然,通过putRow()
在输出中发送的行始终与相关元数据同步。 - 第二个插件从第一个插件接收数据,调用
getInputRowMeta()
了解接收行的元数据。但是,此类元数据似乎与接收到的行不同步。
鉴于这个简单示例的结果,我想知道 Kettle 引擎是否支持这种 运行 时间行为 --- 即如果 getInputRowMeta()
returns 正确的元数据已收到的特定行。
是否有人能够提供证据证明实际上不可能更改元数据?否则,是否有任何安全的方法来获取 processRow()
中收到的特定行的元数据?
摘自本书第 616 页Pentaho Kettle Solutions:
The calculation of the output row metadata is something that needs to happen once and only once because the layout of all the output rows needs to be the same.