Usar matrizes para criar mapas - Amazon Athena

Usar matrizes para criar mapas

Os mapas são pares de chave-valor que consistem nos tipos de dados disponíveis no Athena. Para criar mapas, use o operador MAP e passe duas matrizes: a primeira é de nomes de coluna (chave) e a segunda é de valores. Todos os valores nas matrizes devem ser do mesmo tipo. Se qualquer um dos elementos de matriz de valor de mapa precisar ser de tipos diferentes, você poderá convertê-los depois.

Exemplos

Este exemplo seleciona um usuário em um conjunto de dados. Ele usa o operador MAP e passa duas matrizes. A primeira matriz inclui valores para nomes de coluna, como "primeiro", "último" e "idade". A segunda matriz consiste em valores para cada uma dessas colunas, como "Bob", "Smith", "35".

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

Essa consulta retorna:

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

Você pode recuperar valores Map selecionando o nome do campo seguido de [key_name], como neste exemplo:

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

Essa consulta retorna:

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