Filtrar matrizes com valores aninhados - Amazon Athena

Filtrar matrizes com valores aninhados

Matrizes grandes normalmente contêm estruturas aninhadas, e você precisa ser capaz de filtrar ou pesquisar valores dentro delas.

Para definir um conjunto de dados para uma matriz de valores que inclui um valor BOOLEAN aninhado, execute esta consulta:

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

Ela retorna este resultado:

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

Em seguida, para filtrar e acessar o valor BOOLEAN desse elemento, continue usando a notação .

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

Essa consulta seleciona os campos aninhados e retorna este resultado:

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