2016-04-20 11 views
0

Ich fange an, Talend zu lernen, und ich stehe vor diesem Problem: Ich muss die Spalte "Departamento" von der Excel (Eingabe) mit meiner statischen Tabelle db "Departamento" (Eingabe) vergleichen, um erhalten IdDepartmento und in die Tabelle Direccion (Ausgang) einfügenTalend + lookup

tMap

Job

Wie kann ich das erreichen?

Danke!

Antwort

1
  • InputA: Excel-Datei
  • InputB: DB-Tabelle
  • OutputC: DB Tabelle

Job Graph:

Input A ---+ 
      | 
      +---- tMap ---- Output 
      | 
Input B ---+ 
0

Bitte benutzen Sie unten approach- Input1: Excel-Datei Input2: DB-Tabelle Ausgabe: DB Tabelle

Verbinden Sie Input1 und Input2 mit einem tMap. Stellen Sie sicher, dass Input2 zu Lookup Flow und Input1 zu Main Flow wird. Dann wenden Sie die folgenden Einstellungen an. 1) vergleichen Departamento & Beschreibung. 2) Join-Typ als linken äußeren Join festlegen 3) IdDepartmento holen Verbinden Sie nun den Ausgabefluss mit Ihrer DB-Ausgabekomponente.

+1

Bitte Code-Snippet für Ihre Erklärung hinzufügen. Oder füge das als Kommentar hinzu. – akshay

0

Ich glaube, dass Sie Ihre Lösung haben müssen.

Nun, die Abfrage, die Sie geschrieben haben muss Fehler gegeben haben, weil es nicht weiß, was row4.somefield ist. Es nimmt nur Variablen an der Komponente und sieht bisher nicht wie eine Variable aus.

Auf jeden Fall ist hier, wie Sie Ihr Ziel 1) Excel-Eingang als Haupt 2) dbinput als Lookup und schließen Sie es an tMap Komponente und machen die Innerjoin Basis unter der Bedingung erreichen können, die Sie als SQL geschrieben haben

Konfigurieren Sie Ihre Ausgabe und welches Feld Sie benötigen und 3) Verbinden Sie die Komponente mit der DBoutput-Komponente ... und hier erhalten Sie das Ergebnis.

Plz legen Sie Ihre Empfehlungen.

0

Im Ausgabefiltereditor innerhalb von tmap können Sie tatsächlich eine Bedingung zwischen Such- und Haupttabelle angeben, etwa "row1.yourcolumname = row2.yourcolumnname", wobei row1 Ihre Haupttabelle und row2 Ihre Nachschlagetabelle ist.