É comum a gente achar que quando temos os dados em algum cloud provider e precisamos levar os dados para um Data Warehouse a primeira coisa é pensar numa ferramenta de integração / ingestão, como Apache Hop, Pentaho, Python entre outras mas quando estamos utilizando Snowflake, é mais simples do que parece.
Conseguimos fazer numa simples query SQL, parece até simples…
Bom o primeiro passo é Criar um Stage External para poder ter acesso no Snowflake a esses arquivos.
Para isso basta ir em Create e selecionar Stage e selecionar qual Cloud temos os arquivos, nesse caso é AWS S3.

Uma vez configurado já conseguimos visualizar as pastas e arquivos do S3 no Snowflake.

Uma vez o stage criado conseguimos listar os arquivos, basta utilizar o comando:
list @NORTH;

então com uma simples query agora já conseguimos ler os dados parquet que estão no S3.
select
metadata$filename,
$1 as raw_data,
current_timestamp as created_at
from @NORTH/products
(FILE_FORMAT => ‘PARQUET_FORMAT’);

E agora fica fácil, temos 3 formas de fazer a ingestão dos dados:
- Create or Replace.
- Truncate and Insert
- Copy Into.
Qualquer uma dessas 3 já iremos ter os dados na camada bronze, utilizando somente SQL.
Eu gravei um vídeo mostrando cada uma dessas formas:
Muito Obrigado e até o próximo artigo.
Rafael Arruda