Filtrage des tableaux contenant des valeurs imbriquées - Amazon Athena

Filtrage des tableaux contenant des valeurs imbriquées

Les grands tableaux contiennent souvent des structures imbriquées et vous devez pouvoir y filtrer ou y rechercher des valeurs.

Pour définir un ensemble de données pour un tableau de valeurs qui inclut une valeur BOOLEAN imbriquée, exécutez cette requête :

WITH dataset AS ( SELECT CAST( ROW('aws.amazon.com', ROW(true)) AS ROW(hostname VARCHAR, flaggedActivity ROW(isNew BOOLEAN)) ) AS sites ) SELECT * FROM dataset

Elle renvoie le résultat suivant :

+----------------------------------------------------------+ | sites | +----------------------------------------------------------+ | {HOSTNAME=aws.amazon.com, FLAGGEDACTIVITY={ISNEW=true}} | +----------------------------------------------------------+

Ensuite, pour filtrer la valeur BOOLEAN de cet élément et y accéder, continuez à utiliser la notation . (point).

WITH dataset AS ( SELECT CAST( ROW('aws.amazon.com', ROW(true)) AS ROW(hostname VARCHAR, flaggedActivity ROW(isNew BOOLEAN)) ) AS sites ) SELECT sites.hostname, sites.flaggedactivity.isnew FROM dataset

Cette requête sélectionne les champs imbriqués et renvoie les résultats suivants :

+------------------------+ | hostname | isnew | +------------------------+ | aws.amazon.com | true | +------------------------+