2017-10-12 4 views
0

La table a une colonne comme celui-ci,AWS Athena carte requête

data MAP<string, string> 

et des lignes comme,

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

Alors, comment puis-je rechercher des données [ "bar"] = 456? J'ai essayé, mais il me montre l'erreur "barre de la colonne" ne peut être résolu "

Répondre

1

J'ai trouvé que j'avais tort. "ne doit pas être utilisé dans la requête." Doit être utilisé! donc,

WHERE data['foo'] = 123 

seront travaillées.

0

J'ai eu le même problème, a dû résoudre en ajoutant le même attribut à toutes les données cartographiques.

Vous devez avoir foo et bar dans toutes les données cartographiques si vous souhaitez interroger à ce sujet.

Si la propriété n'est pas présente, elle ne sait pas comment résoudre cette colonne.

Si vous accédez à l'ensemble de l'objet tel qu'il est, vous n'avez pas besoin de l'avoir.

J'espère que cela vous aidera.