2016-08-03 28 views
0

Ich habe ein Avro-Schema wie unten, ich möchte ein Beispiel/Beispiel Datensatz für das Schema.Equivalent avro Datensatzdaten für den Kartentyp

Schema:

{ 
    "name" : "root", 
    "type" : "record", 
    "fields" : [ 
     { 
     "name" : "sub_rec", 
     "type" : { 
      "type" : "array", 
      "items" : { 
       "type" : "map", 
       "values" : "string" 
      } 
     } 
     } 
    ] 
} 

I wie unten versucht, aber es nicht

{ 
    "sub_rec" : {[ 
     "key1" : "val1", 
     "key2" : "val2" 
    ]} 
} 
+0

'Unter rec' vs' sub_rec'. Es ist auch ein Array, kein Objekt/Karte –

+0

meinst du, der Datensatz sollte so sein? { "sub_rec": [{[ "key1": "val1", "key2": "val2" ]}]} – ghosts

Antwort

0

nicht allzu vertraut mit Avro funktioniert, aber ich weiß, dass dies als Arrays ungültig ist nicht können haben Schlüssel-Wert-Paare

[ 
    "key1" : "val1", 
    "key2" : "val2" 
] 

Hier ist mein Gedankenprozess auf das richtige Datensatzformat.

Sie beginnen mit einem Datensatz. Ich glaube nicht, dass der Name hier zutrifft, aber wenn dies der Fall ist, muss dies möglicherweise der Name der Klasse sein, gegen die Sie serialisieren.

{}

Innere davon gibt es ein Feld, dessen Typ sub_rec ist ein Array genannt.

{ "sub_rec" : [] }

Innerhalb dieses Array-Feld haben Sie Elemente, die Kartentypen mit Werten sind, die streng Strings sind.

{ 
    "sub_rec" : [ 
     { "key1" : "value" }, 
     { "key2" : "value" } 
    ] 
} 

Alternative Erklärung (rückwärts)

Sie eine Kartenaufzeichnung Strings mit Werten von nur haben

{ "key" : "string-value" } 

Diese in einem Array gespeichert sind

[ { "key1" : "string-value" }, { "key2" : "string-value" } ] 

Dieses Array wird gespeichert in einem Datensatz mit dem Namen "sub_rec"

(Die gleichen wie vollständige Aufzeichnung oben)

+0

Danke für die ausführliche Erklärung, aber es hat nicht funktioniert. – ghosts

+0

Sind Sie sicher, dass Sie einen verschachtelten Typ haben können? Wie hast du '" type ": {" type ": ...}}'? –

+0

Ja, das Schema wurde erfolgreich kompiliert – ghosts