Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How do I concatenate string in Pentaho spoon?

I am a newbie to Pentaho (installed today). I was able to do basic transformation in Spoon. Now I need to do some stuff, which I can't figure out how.

my input looks like

2012-09-17|garima|fbhjgjhgj87687jghgj88jgjj|garima#1347868164626|::ffff:120.56.132.137

3rd field is an ID, for which I need to get some information from a REST API

http://api.app.com/app/api/v1/feature/fbhjgjhgj87687jghgj88jgjj

What do I need to do in Spoon to get this done?

Also, data return will be in json format. how do I parse that?

like image 362
Thoughtful Monkey Avatar asked Sep 19 '12 09:09

Thoughtful Monkey


People also ask

How do you concatenate in Pentaho?

You should first get your input with a CSV File Input using | as delimiter. Then you can get the 3rd field as a string. Next you probably need to remove all spaces from this string with a String operations step. Look at the Remove special character column, and select space .

Can you use a double in String concatenation?

The “+” operator with a String acts as a concatenation operator. Whenever you add a String value to a double using the “+” operator, both values are concatenated resulting a String object. In-fact adding a double value to String is the easiest way to convert a double value to Strings.


Video Answer


1 Answers

You should first get your input with a CSV File Input using | as delimiter. Then you can get the 3rd field as a string.

Next you probably need to remove all spaces from this string with a String operations step. Look at the Remove special character column, and select space.

Then you need to concatenate it with your http address http://api.app.com/app/api/v1/feature/. For this you'll use a Calculator step. At this step first create a new temporary field tmpAddr, with operation Define a constant value for ... (or something like this, sorry my spoon is in portuguese). At the Field A column you'll write your http address. It's a good practice, after you make this work, to set your address as a system variable so if it changes you don't need to replace it everywhere on your transformations (look at menu Edit -> System Variables).

Now on the same Calculator step create another field, let's say MyAddress, with operation A+B. Choose for Field A the field tmpAddr you just created, and for Field B the 3rd field from your input.

Now on your stream you should have the full address as a field MyAddress. Connect a REST client step. Mark Accept URL from field and choose field MyAddress as URL Field Name. Set Application Type to JSON. Set Result Fieldname as MyResult.

If you need further JSON parsing you can add a Json input step. Set Source is defined in a field and select field MyResult as Get Source from field.

like image 174
RFVoltolini Avatar answered Sep 19 '22 00:09

RFVoltolini