Etapa 3. Preparar os arquivos de dados¶
Um estágio do Snowflake é um local no armazenamento em nuvem que você usa para carregar e descarregar dados de uma tabela. Um estágio permite carregar dados em uma tabela e descarregar dados de uma tabela. O Snowflake oferece suporte a:
Estágios internos — Usado para armazenar arquivos de dados internamente no Snowflake. Cada usuário e tabela no Snowflake recebe um estágio interno por padrão para a preparação de arquivos de dados.
Estágios externos* — Usado para armazenar arquivos de dados externamente no Amazon S3, Google Cloud Storage ou Microsoft Azure. Se seus dados já estiverem armazenados nestes serviços de armazenamento em nuvem, você pode usar um estágio externo para carregar dados nas tabelas do Snowflake.
Neste tutorial, carregamos os arquivos de dados de amostra (baixados em Pré-requisitos) no estágio interno da tabela emp_basic
que você criou anteriormente. Use o comando PUT para carregar os seguintes arquivos de dados de amostra para esse estágio:
Neste tópico:
Preparação de arquivos de dados de amostra¶
Execute PUT em SnowSQL para carregar os arquivos de dados locais no estágio de tabela fornecido para a tabela emp_basic
que você criou.
put file://<file-path>[/\]employees0*.csv @sf_tuts.public.%emp_basic;
Por exemplo:
Linux ou macOS
PUT file:///tmp/employees0*.csv @sf_tuts.public.%emp_basic;
Windows
PUT file://C:\temp\employees0*.csv @sf_tuts.public.%emp_basic;
Vamos analisar melhor o comando:
file://<caminho-arquivo>[/\]employees0*.csv
especifica o caminho completo do diretório e os nomes dos arquivos na máquina local que devem ser preparados. Você pode usar caracteres curinga do sistema de arquivos.@<namespace>.%<nome_tabela>
diz para usar o estágio para a tabela especificada, neste caso a tabelaemp_basic
.
O comando retorna o seguinte resultado, mostrando os arquivos preparados:
+-----------------+--------------------+-------------+-------------+--------------------+--------------------+----------+---------+ | source | target | source_size | target_size | source_compression | target_compression | status | message | |-----------------+--------------------+-------------+-------------+--------------------+--------------------+----------+---------| | employees01.csv | employees01.csv.gz | 360 | 287 | NONE | GZIP | UPLOADED | | | employees02.csv | employees02.csv.gz | 355 | 274 | NONE | GZIP | UPLOADED | | | employees03.csv | employees03.csv.gz | 397 | 295 | NONE | GZIP | UPLOADED | | | employees04.csv | employees04.csv.gz | 366 | 288 | NONE | GZIP | UPLOADED | | | employees05.csv | employees05.csv.gz | 394 | 299 | NONE | GZIP | UPLOADED | | +-----------------+--------------------+-------------+-------------+--------------------+--------------------+----------+---------+
Observe que o comando PUT comprime os arquivos por padrão usando gzip
, como indicado na coluna TARGET_COMPRESSION.
Listagem dos arquivos preparados (opcional)¶
Você pode listar os arquivos preparados usando o comando LIST.
LIST @sf_tuts.public.%emp_basic;
O resultado a seguir é um exemplo:
+--------------------+------+----------------------------------+------------------------------+ | name | size | md5 | last_modified | |--------------------+------+----------------------------------+------------------------------| | employees01.csv.gz | 288 | a851f2cc56138b0cd16cb603a97e74b1 | Tue, 9 Jan 2018 15:31:44 GMT | | employees02.csv.gz | 288 | 125f5645ea500b0fde0cdd5f54029db9 | Tue, 9 Jan 2018 15:31:44 GMT | | employees03.csv.gz | 304 | eafee33d3e62f079a054260503ddb921 | Tue, 9 Jan 2018 15:31:45 GMT | | employees04.csv.gz | 304 | 9984ab077684fbcec93ae37479fa2f4d | Tue, 9 Jan 2018 15:31:44 GMT | | employees05.csv.gz | 304 | 8ad4dc63a095332e158786cb6e8532d0 | Tue, 9 Jan 2018 15:31:44 GMT | +--------------------+------+----------------------------------+------------------------------+