Uso de matrices para crear mapas - Amazon Athena

Uso de matrices para crear mapas

Los mapas son pares de clave-valor que consisten en tipos de datos disponibles en Athena. Para crear mapas, utilice el operador MAP y pásele dos matrices: la primera es la columna de nombres (clave) y la segunda corresponde a los valores. Todos los valores de las matrices deben ser del mismo tipo. Si alguno de los elementos de la matriz de valores del mapa tiene que ser de otro tipo, puede convertirlo más adelante.

Ejemplos

En este ejemplo se selecciona a un usuario de un conjunto de datos. Se utiliza el operador MAP y se le pasan dos matrices. La primera matriz incluye valores para nombres de columna, como "first", "last" y "age". La segunda matriz está formada por valores para cada una de estas columnas, como "Bob", "Smith", "35".

WITH dataset AS ( SELECT MAP( ARRAY['first', 'last', 'age'], ARRAY['Bob', 'Smith', '35'] ) AS user ) SELECT user FROM dataset

Esta consulta devuelve:

+---------------------------------+ | user | +---------------------------------+ | {last=Smith, first=Bob, age=35} | +---------------------------------+

Puede recuperar valores de Map seleccionando el nombre de campo seguido de [key_name], como en este ejemplo:

WITH dataset AS ( SELECT MAP( ARRAY['first', 'last', 'age'], ARRAY['Bob', 'Smith', '35'] ) AS user ) SELECT user['first'] AS first_name FROM dataset

Esta consulta devuelve:

+------------+ | first_name | +------------+ | Bob | +------------+