Erstellen von Arrays - Amazon Athena

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Erstellen von Arrays

Zum Erstellen eines Arrayliterals in Athena verwenden Sie das Schlüsselwort ARRAY, gefolgt von Klammern [ ], und schließen die durch Kommata getrennten Array-Elemente ein.

Beispiele

Diese Abfrage erstellt ein Array mit vier Elementen.

SELECT ARRAY [1,2,3,4] AS items

Folgendes wird zurückgegeben:

+-----------+ | items | +-----------+ | [1,2,3,4] | +-----------+

Diese Abfrage erstellt zwei Arrays.

SELECT ARRAY[ ARRAY[1,2], ARRAY[3,4] ] AS items

Folgendes wird zurückgegeben:

+--------------------+ | items | +--------------------+ | [[1, 2], [3, 4]] | +--------------------+

Zum Erstellen eines Arrays aus ausgewählten Spalten kompatibler Typen nutzen Sie eine Abfrage, wie im folgenden Beispiel gezeigt:

WITH dataset AS ( SELECT 1 AS x, 2 AS y, 3 AS z ) SELECT ARRAY [x,y,z] AS items FROM dataset

Diese Abfrage gibt Folgendes zurück:

+-----------+ | items | +-----------+ | [1,2,3] | +-----------+

Im folgenden Beispiel werden zwei Arrays ausgewählt und in Form einer Willkommensnachricht zurückgegeben.

WITH dataset AS ( SELECT ARRAY ['hello', 'amazon', 'athena'] AS words, ARRAY ['hi', 'alexa'] AS alexa ) SELECT ARRAY[words, alexa] AS welcome_msg FROM dataset

Diese Abfrage gibt Folgendes zurück:

+----------------------------------------+ | welcome_msg | +----------------------------------------+ | [[hello, amazon, athena], [hi, alexa]] | +----------------------------------------+

Zum Erstellen eines Arrays aus Schlüssel/Wert-Paaren nutzen Sie den MAP-Operator. Dieser verwendet ein Schlüssel-Array gefolgt von einem Werte-Array, wie im folgenden Beispiel gezeigt:

SELECT ARRAY[ MAP(ARRAY['first', 'last', 'age'],ARRAY['Bob', 'Smith', '40']), MAP(ARRAY['first', 'last', 'age'],ARRAY['Jane', 'Doe', '30']), MAP(ARRAY['first', 'last', 'age'],ARRAY['Billy', 'Smith', '8']) ] AS people

Diese Abfrage gibt Folgendes zurück:

+-----------------------------------------------------------------------------------------------------+ | people | +-----------------------------------------------------------------------------------------------------+ | [{last=Smith, first=Bob, age=40}, {last=Doe, first=Jane, age=30}, {last=Smith, first=Billy, age=8}] | +-----------------------------------------------------------------------------------------------------+