【问题标题】:Merging 2 rows in pentaho kettle transformation在 pentaho 水壶转换中合并 2 行
【发布时间】:2015-08-27 18:25:38
【问题描述】:

我的 KTR 是:

MongoDB Json Input 给出的 JSON 如下:

{“_id”:{“$oid”:“525cf3a7​​0fafa305d949ede0”},“资产”: “RO2500AS1”,“盐排斥”:“82%”,“盐通道”:“18%”, “回收率”:“56.33%”,“浓度因子”:“2.3”,“状态”: “临界”,“流量警报”:“高流量”}

还有一个返回 2 行的 Table 输入:

在 StreamLookUp 步骤中,查找的 Key 配置为asset = AssetName

我的最终输出返回 2 个 json:

{"data":[{"估计成本":"USD 15","资产名称":"RO2500AS1","描述":"泵 维护","索引":1,"json":"{ \"_id\" : { \"$oid\" : \"525cf3a7​​0fafa305d949ede0\"} , \"资产\" : \"RO2500AS1\" , \"盐 拒绝\" : \"82%\" , \"盐通道\" : \"18%\" , \"恢复\" : \"56.33%\" , \"浓度因子\" : \"2.3\" , \"状态\" : \"严重\" , \"流量警报\" : \"高 Flow\"}","Type":"Service","DeadLine":"13 November 2013"}]}

{"data":[{"估计成本":"USD 35","资产名称":"RO2500AS1","描述":"热量 传感器","索引":2,"json":"{ \"_id\" : { \"$oid\" : \"525cf3a7​​0fafa305d949ede0\"} , \"资产\" : \"RO2500AS1\" , \"盐 拒绝\" : \"82%\" , \"盐通道\" : \"18%\" , \"恢复\" : \"56.33%\" , \"浓度因子\" : \"2.3\" , \"状态\" : \"严重\" , \"流量警报\" : \"高 Flow\"}","Type":"Replacement","DeadLine":"2013 年 11 月 26 日"}]}

我希望我的最终 JSON 输出合并显示结果,例如:

{"data": [{"估计成本":"USD 15", "AssetName":"RO2500AS1", “描述”:“泵维护”,“索引”:1,“类型”:“服务”, "DeadLine":"13 November 2013"}, {"估计费用":"USD 35", “资产名称”:“RO2500AS1”,“描述”:“热传感器”,“索引”:2, "Type":"Replacement", "DeadLine":"2013 年 11 月 26 日"}],

“json”:{“_id”:“525cf3a7​​0fafa305d949ede0”},“资产”:“RO2500AS1” ,“盐排斥”:“82%”,“盐通过”:“18%”,“恢复”: “56.33%”,“浓度系数”:“2.3”,“状态”:“临界”, “流量警报”:“高流量”}

这意味着合并 2 行。

有人可以帮忙吗

【问题讨论】:

    标签: pentaho kettle


    【解决方案1】:

    您可以在 Tableinput 之后使用 MergeJoin。这将合并来自 Mysql 输出行的行,并且您将只有一个 JSON 作为输出...

    【讨论】:

      【解决方案2】:

      您可能希望使用Merge 步骤来达到您的目的。不要忘记对输入流进行排序。

      注意:在此步骤中,行应按指定的关键字段排序。使用排序步骤时,这可以正常工作。当您在 PDI 之外对数据进行排序时,您可能会遇到内部区分大小写/不区分大小写标志的问题

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-12-31
        • 1970-01-01
        相关资源
        最近更新 更多