

# Usar matrizes para criar mapas
<a name="arrays-create-maps"></a>

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
<a name="examples"></a>

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        |
+------------+
```