2014-12-24 6 views
5

Ich bin ziemlich neu zu Talend und ich bin dran mit JSON Daten mit tRest bekommen.tRest und map JSON mit tExtractJSONField mit TALEND

Wir nehmen an, dass ich versuche, alle Beiträge aus sozialen Netzwerken zu bekommen.

Deshalb verwende ich https://tagboard.com, um Daten zu erhalten, die in JSON formatiert sind.

Hier ist eines der Szenarien, die ich ausprobiert habe. ich eine Ausgabe JSON-Daten wie folgt aus https://post-cache.tagboard.com/search/tunisie?count=2 mit 2 Stellen als Beispiel haben, entfernte ich einige Knoten ... zu klären:

{ 
"posts": 
[ 
    { 
     "network": "twitter", 
     "post_id": "547835328170823680", 
     "text": "#tunisie .. #tunis", 
     "html": " ", 
     "permalink": " ", 
     "post_time": 1419449095, 
     "user_id": "159415522", 
     "user_name": " ", 
     "user_real_name": " ", 
     "user_profile_image_url": " ", 
     "hashtags": [ "tunisie", "tunis" ]   
    }, 
    { 
     "network": "Facebook", 
     "post_id": "547835328170823680", 
     "text": "#tunisia .. #tunis", 
     "html": " ", 
     "permalink": " ", 
     "post_time": 1777449095, 
     "user_id": "159995522", 
     "user_name": " ", 
     "user_real_name": " ", 
     "user_profile_image_url": " ", 
     "hashtags": [ "tunisia", "tunis2" ]   
    } 
] 
} 

Hier ist der erste Talend Job:

enter image description here

Und I konfiguriert tExtractJSONField Text Feld von den Daten zu extrahieren, wie unten:

enter image description here

enter image description here

In der Tat, ich brauche diese Felder: newtork, text, post_time, und die Liste der Hashtags.

Wegen Körper auf der Mapping-Tabelle, ich denke, ich kann nicht mehr Attribute hinzufügen, um den Rest der Felder zuordnen.

Ich fand einen Weg, es gibt Daten mit tXMLMap abzubilden, wo der Körper Feld mehrere Felder erweitert werden kann, hinzuzufügen:

enter image description here

ich es eine Möglichkeit, die gleiche Sache für JSON zu tun ist glauben, aber ich weiß nicht, wie und ich warte auf deine Hilfe.

Antwort

2

Sie haben tMap Komponente enter image description here

verwenden und Sie müssen Datenschema wie in diesem Beispiel konfigurieren:

enter image description here

+0

Sie sollten eine spezifische Antwort auf seine Frage haben. Nicht nur ein Beispiel eingefügt. Es ist schwer zu verstehen, worüber du hier redest, denn die Felder stimmen nicht überein. –

0

Wählen Sie unter Optionen

Lesen von: JsonPath

Schleife json Abfrage: "$ .posts [*]"

Extrahieren innere json Array Felder [0].network und [1].network in tExtractJSONFields Komponente.