Création de tableaux - Amazon Athena

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Création de tableaux

Pour créer un libellé tableau dans Athena, utilisez le mot clé ARRAY, suivi de crochets [ ], et incluez les éléments du tableau séparés par des virgules.

Exemples

Cette requête crée un tableau avec quatre éléments.

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

Elle renvoie :

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

Cette requête crée deux tableaux.

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

Elle renvoie :

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

Pour créer un tableau à partir de colonnes sélectionnées de types compatibles, utilisez une requête, comme dans cet exemple :

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

Cette requête renvoie :

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

Dans l'exemple suivant, deux tableaux sont sélectionnés et retournés comme message de bienvenue.

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

Cette requête renvoie :

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

Pour créer un tableau de paires clé-valeur, utilisez l'opérateur MAP qui accepte un tableau de clés, suivi d'un tableau de valeurs, comme dans cet exemple :

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

Cette requête renvoie :

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