Frage

Angenommen, ich habe die folgende Quelltabelle (genannt S):

name   gender code

Bob         0          
Nancy       1          
Ruth        1          
David       0          

Und nehmen wir an, ich habe auch eine Nachschlagetabelle (genannt S_gender_values):

Gender_Code Gender_value

0           Male           
1           Female 

Mein Ziel ist es, eine Zieltabelle (nennen wir sie T) zu erstellen, die so aussieht:

name   Gender_Code    

Bob     M             
Nancy   F             
Ruth    F             
David   M             

Ich gehe außerdem davon aus, dass ich eine Nachschlagetabelle für Tabelle T namens T_GenderValues ​​habe, die ich verwenden kann, um Tabelle T zu erstellen (und ihre Ergebnisse zu validieren).

Gender_Code    Gender_value   

M                Male          
F                Female        

Ich dachte an 2 (oder 3) Alternativen:

  1. Erstellen Sie eine Zuordnungstabelle (nennen wir sie S_T_Gender_Code_Mapping), die wie folgt aussieht:

    S_Gender_Code     T_Gender_code     
    
    0                   M               
    1                   F    
    

    und führen Sie dann eine einfache Verknüpfung/Suche mit tMap durch.

  2. Verwenden Sie tMap und fügen Sie einen Ausdruck hinzu, der die Zuordnung implementiert, etwa:

    (S.Gender_Code==0)?"F":"M"
    
  3. Ähnlich wie Alternative 2, aber zur Verwendung von Benutzer-Java-Routinen.

Gibt es eine andere Alternative?Ich hoffte, dass ich die Einfachheit von tMap nutzen könnte, um zwischen S_GenderValues ​​und T_GenderValues ​​zuzuordnen und von der Benutzerfreundlichkeit des UI-Tools zu profitieren, wie wir es in tMap haben

Irgendein Hinweis?

War es hilfreich?

Lösung

Meiner Meinung nach ist Option Nr. 1 unnötig komplex und könnte den Prozess verlangsamen.Sicher, wenn Sie Dutzende oder Tausende von Suchvorgängen hätten, würden Sie das wollen, aber nicht für zwei.

Und Option Nr. 3 ist auch zu viel, da Sie den Wert sowieso in einen Fluss oder Iterationsstrom einbinden möchten (Komponenten wie tJavaRow dienen dazu, komplexere Transformationen durchzuführen).

Die tMap-Komponente kann das einfache einzeilige Java direkt im Flow ausführen, daher klingt Option 2 für mich nach der besten Wahl.

Andere Tipps

Ich habe eine ähnliche Situation wie Sie gelöst. Mein Hauptproblem bestand darin, dass ich eine große Nachschlagetabelle hatte, in der sich alle Nachschlagetypen an derselben Stelle befanden.

Wenn Ihr Problem auf mehr als nur zwei Optionen anwächst, ist es gut, den dritten Ansatz im Hinterkopf zu haben. Schauen Sie sich also vielleicht diese Lösung an, sie ordnet den Inhalt der Nachschlagetabelle globalen Variablen in einer Liste zu und dann sucht sie.

Interne Talend-Variablen

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top