> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-fix-nav-issues.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> Documentação do formato Npy

# Npy

| Entrada | Saída | Alias |
| ------- | ----- | ----- |
| ✔       | ✔     |       |

<div id="description">
  ## Descrição
</div>

O formato `Npy` foi projetado para carregar um array do NumPy de um arquivo `.npy` para o ClickHouse.
O formato de arquivo do NumPy é um formato binário usado para armazenar arrays de dados numéricos com eficiência.
Durante a importação, o ClickHouse trata a dimensão de nível superior como um array de linhas com uma única coluna.

A tabela abaixo mostra os tipos de dados Npy compatíveis e seus tipos correspondentes no ClickHouse:

<div id="data_types-matching">
  ## Correspondência entre tipos de dados
</div>

| Tipo de dado Npy (`INSERT`) | Tipo de dado do ClickHouse                             | Tipo de dado Npy (`SELECT`) |
| --------------------------- | ------------------------------------------------------ | --------------------------- |
| `i1`                        | [Int8](/pt-BR/reference/data-types/int-uint)           | `i1`                        |
| `i2`                        | [Int16](/pt-BR/reference/data-types/int-uint)          | `i2`                        |
| `i4`                        | [Int32](/pt-BR/reference/data-types/int-uint)          | `i4`                        |
| `i8`                        | [Int64](/pt-BR/reference/data-types/int-uint)          | `i8`                        |
| `u1`, `b1`                  | [UInt8](/pt-BR/reference/data-types/int-uint)          | `u1`                        |
| `u2`                        | [UInt16](/pt-BR/reference/data-types/int-uint)         | `u2`                        |
| `u4`                        | [UInt32](/pt-BR/reference/data-types/int-uint)         | `u4`                        |
| `u8`                        | [UInt64](/pt-BR/reference/data-types/int-uint)         | `u8`                        |
| `f2`, `f4`                  | [Float32](/pt-BR/reference/data-types/float)           | `f4`                        |
| `f8`                        | [Float64](/pt-BR/reference/data-types/float)           | `f8`                        |
| `S`, `U`                    | [String](/pt-BR/reference/data-types/string)           | `S`                         |
|                             | [FixedString](/pt-BR/reference/data-types/fixedstring) | `S`                         |

<div id="example-usage">
  ## Exemplo de uso
</div>

<div id="saving-an-array-in-npy-format-using-python">
  ### Salvando um array no formato .npy com Python
</div>

```Python theme={null}
import numpy as np
arr = np.array([[[1],[2],[3]],[[4],[5],[6]]])
np.save('example_array.npy', arr)
```

<div id="reading-a-numpy-file-in-clickhouse">
  ### Ler um arquivo NumPy no ClickHouse
</div>

```sql title="Query" theme={null}
SELECT *
FROM file('example_array.npy', Npy)
```

```response title="Response" theme={null}
┌─array─────────┐
│ [[1],[2],[3]] │
│ [[4],[5],[6]] │
└───────────────┘
```

<div id="selecting-data">
  ### Selecionando dados
</div>

Você pode selecionar dados de uma tabela do ClickHouse e salvá-los em um arquivo no formato Npy usando o comando a seguir com o clickhouse-client:

```bash theme={null}
$ clickhouse-client --query="SELECT {column} FROM {some_table} FORMAT Npy" > {filename.npy}
```

<div id="format-settings">
  ## Configurações de formato
</div>
