Filtern von Arrays mit der .-Notation - Amazon Athena

Filtern von Arrays mit der .-Notation

Wählen Sie im folgenden Beispiel das Feld accountId aus der Spalte userIdentity einer AWS CloudTrail-Protokolltabelle mit der Punkt-.-Notation aus. Weitere Informationen finden Sie unter Abfragen von AWS CloudTrail-Protokollen.

SELECT CAST(useridentity.accountid AS bigint) as newid FROM cloudtrail_logs LIMIT 2;

Diese Abfrage gibt Folgendes zurück:

+--------------+ | newid | +--------------+ | 112233445566 | +--------------+ | 998877665544 | +--------------+

Um ein Array mit Werten abzufragen, senden Sie diese Abfrage:

WITH dataset AS ( SELECT ARRAY[ CAST(ROW('Bob', 38) AS ROW(name VARCHAR, age INTEGER)), CAST(ROW('Alice', 35) AS ROW(name VARCHAR, age INTEGER)), CAST(ROW('Jane', 27) AS ROW(name VARCHAR, age INTEGER)) ] AS users ) SELECT * FROM dataset

Sie erhalten das folgende Ergebnis:

+-----------------------------------------------------------------+ | users | +-----------------------------------------------------------------+ | [{NAME=Bob, AGE=38}, {NAME=Alice, AGE=35}, {NAME=Jane, AGE=27}] | +-----------------------------------------------------------------+