Filtrare le matrici utilizzando UNNEST - Amazon Athena

Filtrare le matrici utilizzando UNNEST

Per filtrare una matrice che include una struttura nidificata in base a uno dei suoi elementi figlio, invia una query con un operatore UNNEST. Per ulteriori informazioni su UNNEST, consulta la sezione relativa all'appiattimento delle matrici nidificate.

Ad esempio, questa query individua nomi host dei siti nel set di dati.

WITH dataset AS ( SELECT ARRAY[ CAST( ROW('aws.amazon.com', ROW(true)) AS ROW(hostname VARCHAR, flaggedActivity ROW(isNew BOOLEAN)) ), CAST( ROW('news.cnn.com', ROW(false)) AS ROW(hostname VARCHAR, flaggedActivity ROW(isNew BOOLEAN)) ), CAST( ROW('netflix.com', ROW(false)) AS ROW(hostname VARCHAR, flaggedActivity ROW(isNew BOOLEAN)) ) ] as items ) SELECT sites.hostname, sites.flaggedActivity.isNew FROM dataset, UNNEST(items) t(sites) WHERE sites.flaggedActivity.isNew = true

Restituisce:

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