2017-10-12 4 views
0

Die Tabelle hat eine Spalte wie diese,AWS Athena Karte Abfrage

data MAP<string, string> 

und Zeilen wie,

id | data 
1 | {"foo": 123} 
2 | {"bar": 456} 

Dann, wie kann ich Daten [ "bar"] suchen = 456? Ich habe versucht, aber es zeigt mir den Fehler "Spalte 'bar' kann nicht gelöst werden"

Antwort

1

Ich fand ich lag falsch. "sollte nicht in Abfrage verwendet werden." Verwendet werden sollte! so,

WHERE data['foo'] = 123 

wird gearbeitet werden.

0

Ich hatte das gleiche Problem, musste durch Hinzufügen des gleichen Attributs zu allen Kartendaten auflösen.

Sie müssen in allen Kartendaten foo und bar haben, wenn Sie danach fragen möchten.

Wenn die Eigenschaft nicht vorhanden ist, kann sie nicht in diese Spalte aufgelöst werden.

Wenn Sie auf das gesamte Objekt zugreifen, wie es ist, brauchen Sie es nicht.

Ich hoffe, es hilft.

Verwandte Themen