如何在 Pentaho 勺子中连接字符串?
Posted
技术标签:
【中文标题】如何在 Pentaho 勺子中连接字符串?【英文标题】:How do I concatenate string in Pentaho spoon? 【发布时间】:2012-09-19 09:21:28 【问题描述】:我是 Pentaho(今天安装)的新手。我能够在 Spoon 中进行基本的转换。现在我需要做一些事情,我不知道该怎么做。
我的输入看起来像
2012-09-17|garima|fbhjgjhgj87687jghgj88jgjj|garima#1347868164626|::ffff:120.56.132.137
第三个字段是一个 ID,我需要从 REST API 获取一些信息
http://api.app.com/app/api/v1/feature/fbhjgjhgj87687jghgj88jgjj
我需要在 Spoon 中做什么才能完成这项工作?
此外,数据返回将以 json 格式。我该如何解析?
【问题讨论】:
【参考方案1】:您应该首先使用CSV File Input
获取输入,并使用|
作为分隔符。然后您可以将第三个字段作为字符串获取。
接下来,您可能需要使用String operations
步骤从该字符串中删除所有空格。查看Remove special character
列,然后选择space
。
然后你需要将它与你的http地址http://api.app.com/app/api/v1/feature/
连接起来。为此,您将使用Calculator
步骤。在这一步首先创建一个新的临时字段tmpAddr
,操作Define a constant value for ...
(或类似的东西,对不起我的勺子是葡萄牙语)。在Field A
列中,您将填写您的http 地址。这是一个很好的做法,在您完成这项工作后,将您的地址设置为系统变量,因此如果它发生更改,您无需在转换的任何地方替换它(查看菜单 Edit -> System Variables
)。
现在在同一个Calculator
步骤上创建另一个字段,比如MyAddress
,操作为A+B
。为Field A
选择您刚刚创建的字段tmpAddr
,为Field B
选择您输入的第三个字段。
现在,在您的直播中,您应该将完整地址作为字段MyAddress
。连接REST client
步骤。标记Accept URL from field
并选择字段MyAddress
为URL Field Name
。将Application Type
设置为JSON
。将Result Fieldname
设置为MyResult
。
如果您需要进一步的 JSON 解析,您可以添加 Json input
步骤。设置Source is defined in a field
并选择字段MyResult
为Get Source from field
。
【讨论】:
太棒了。非常好的一步一步的解释,它就像一个魅力:)【参考方案2】:另一种方法是使用“替换字符串”步骤来附加字符串。
-
将“使用正则表达式”设置为 Y
将“搜索”设置为
(.*)
将“替换为”设置为http://api.app.com/app/api/v1/feature/$1
将“整个单词”设置为 Y
正则表达式中的括号设置了一个捕获组,然后您可以使用 $X 语法将其插入到替换字符串中
【讨论】:
以上是关于如何在 Pentaho 勺子中连接字符串?的主要内容,如果未能解决你的问题,请参考以下文章