【问题标题】:CDA kettle over kettleTransFromFile diffren behaviour vs Pentaho Data IntegrationCDA 水壶 overkettleTransFromFile 差异行为与 Pentaho 数据集成
【发布时间】:2026-02-09 11:00:01
【问题描述】:

我在 pentaho 服务器中使用 CDE 创建了一个表单。此表单是一个带有一些输入字段的表格。单击按钮会生成一个数组,该数组作为参数值发送。在 db 表中,我有 3 列:alfa、beta、gamma。

//var data = JSON.stringify(array);
var data = [
 {"alfa":"some txt","beta":"another text","gamma": 23},
 {"alfa":"stxt","beta":"anoxt","gamma": 43}
]

我创建了一个按预期运行的水壶转换。这 2 行数组被插入到数据库中,但是当我在 Pentaho 的kettleTransFromFile 上使用 CDA 水壶运行相同的水壶转换时,只插入第一行。 这是我的转变:

  1. 获取变量:数据(字符串)
  2. 修改后的 Java 脚本值:data_decode 包含 json 数组

    var data_decode = eval(data.toString());

  3. JSON 输入:alfa - $..[0].alpha,beta - $..[0].beta,gamma -$..[0].gamma

  4. tableinsert - 在数据库中插入。

...从spoon,kettle命令行都可以,但不是从Pentaho。 怎么了?

谢谢! 地理位置


更新

可能是缺少配置或错误或功能,但我不使用这种方法。我找到了一个简单的方法:我创建了一个 scriptable over scripting 数据源,其中包含一个简单的 java 代码(使用 beanshell)。现在它按预期工作。我将在 Sparkl 插件中移动此表单。谢谢。

这个问题,仍然悬而未决,也许有人想尝试这种方法。

【问题讨论】:

    标签: kettle data-integration pentaho-cde pentaho-data-integration


    【解决方案1】:

    请使用正确的 JSONPath 来消除副作用:$.*.alpha

    【讨论】: