Filtern von Arrays mit UNNEST - Amazon Athena

Filtern von Arrays mit UNNEST

Um ein Array mit einer verschachtelten Struktur nach einem untergeordneten Element zu filtern, verwenden Sie eine Abfrage mit einem UNNEST-Operator. Weitere Informationen zu UNNEST finden Sie unter Reduzieren von verschachtelten Arrays.

Diese Abfrage sucht beispielsweise Hostnamen von Websites im Datensatz.

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

Folgendes wird zurückgegeben:

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