2016-04-01 11 views
0

Ich habe versucht, das Schema eines Datasets während der Verwendung von Pig aus einer JSON-Datei mit dem JsonLoader einzugeben.Definieren von Schema in JsonLoader in PIG

Das Format der Daten ist als:

LOAD 'filename' USING JsonLoader('cat_a:chararray, cat_b:(attribute_name:chararray,attribute_value:int)'); 

Ich glaube, dass ich das Schema falsch für cat_b bin beschreiben:

{ 
    'cat_a':'some_text', 
    'cat_b':{(attribute_name):(attribute_value)} 
} 

ich das Schema zu beschreiben versuchen.

Kann jemand dabei helfen? Vielen Dank im Voraus.

Antwort

0

Wenn Ihr json ist das Format

{"recipe":"Tacos","ingredients":[{"name":"Beef"},{"name":"Lettuce"},{"name":"Cheese"}]} 

speichern die oben json in test.json

führen Sie den folgenden Befehl

a = LOAD '/home/abhijit/Desktop/test.json' USING JsonLoader('recipe:chararray,ingredients: {(name:chararray)}'); 

dump a; 

müssen Sie Ausgabe als

(Tacos,{(Beef),(Lettuce),(Cheese)},) 

wenn Ihr json wie unten Format wäre

{"recipe":"Tacos","ingredients":[{"name":"Beef"},{"name":"Lettuce"},{"name":"Cheese"}],"inventor":{"name":"Alex","age":25}} 

a = LOAD '/home/abhijit/Desktop/test.json' USING JsonLoader('recipe:chararray,ingredients: {(name:chararray)},inventor: (name:chararray, age:int)'); 


dump a; 

Ausgang

(Tacos,{(Beef),(Lettuce),(Cheese)},(Alex,25)) 
+0

Wurde Ihre Frage beantworten ist ...? –