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}] |
+-----------------------------------------------------------------------------------------------------+