2012-09-19 4 views
5

Ich bin ein Neuling in Pentaho (installiert heute). Ich konnte grundlegende Veränderungen in Spoon durchführen. Jetzt muss ich ein paar Sachen machen, von denen ich nicht weiß, wie.Wie verkette ich die Saite in Pentaho-Löffel?

meine Eingabe sieht aus wie

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

3. Feld eine ID ist, für die ich brauche einige Informationen aus einer REST-API in Löffel zu tun ist, um zu

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

Was brauche ich zu bekommen Dies fertig?

Die Datenrückgabe erfolgt ebenfalls im JSON-Format. Wie parse ich das?

Antwort

7

Sie sollten zuerst Ihre Eingabe mit einem CSV File Input unter Verwendung | als Trennzeichen erhalten. Dann können Sie das 3. Feld als String erhalten.

Als nächstes müssen Sie wahrscheinlich alle Leerzeichen aus dieser Zeichenfolge mit einem String operations Schritt entfernen. Sehen Sie sich die Spalte Remove special character an und wählen Sie space.

Dann müssen Sie es mit Ihrer http-Adresse http://api.app.com/app/api/v1/feature/ verketten. Dazu verwenden Sie einen Schritt Calculator. In diesem Schritt erstellen Sie zuerst ein neues temporäres Feld tmpAddr, mit Operation Define a constant value for ... (oder so ähnlich, mein Löffel ist auf Portugiesisch). In der Spalte Field A schreiben Sie Ihre http-Adresse. Es ist eine gute Übung, nachdem Sie diese Arbeit gemacht haben, Ihre Adresse als Systemvariable festzulegen. Wenn sie sich ändert, müssen Sie sie nicht überall in Ihren Transformationen ersetzen (siehe Menü Edit -> System Variables).

Jetzt auf dem gleichen Calculator Schritt erstellen Sie ein anderes Feld, sagen wir MyAddress, mit Operation A+B. Wählen Sie für Field A das gerade erstellte Feld tmpAddr und für Field B das 3. Feld aus Ihrer Eingabe.

Jetzt in Ihrem Stream sollten Sie die vollständige Adresse als Feld MyAddress haben. Schließen Sie einen REST client Schritt an. Markieren Sie Accept URL from field und wählen Sie das Feld MyAddress als URL Field Name. Set Application Type zu JSON. Set Result Fieldname als MyResult. Wenn Sie weitere JSON-Parsing benötigen, können Sie einen Json input Schritt hinzufügen. Stellen Sie Source is defined in a field ein und wählen Sie das Feld MyResult als Get Source from field.

+0

Great einfügen können.Ausgezeichnete Schritt für Schritt Erklärung und es funktionierte wie ein Charme :) –

1

Ein alternativer Ansatz besteht darin, den Schritt "In Zeichenfolge ersetzen" zu verwenden, um die Zeichenfolge anzuhängen.

  1. Set 'Verwendung RegEx' zu Y
  2. Set 'Suchen' zu (.*)
  3. Set 'Ersetzen durch' zu http://api.app.com/app/api/v1/feature/$1
  4. Set 'ganzes Wort' zu Y

die Klammern in der Regex eine Capture-Gruppe, die Sie dann in Ihre Ersetzung Zeichenfolge mit der $ X-Syntax