AWS – Redshift – Carregar dados S3

Getting your Trinity Audio player ready...
pt flag
en flag
es flag
Voiced by Amazon Polly

A algum tempo atrás fiz um trabalho que teoricamente parecia simples, extrair dados de um banco transacional e mandar para um Redshift para análilse.

Claro que após bater cabeça alguns minutos entendi que imporar dados diretamente para o Redshift iria ser no mínimo conturbado e instável.

Fazendo uma análise das opções vi que a AWS disponibilizou um método muito parecido com o do SQL Server para importar arquivos diretamente para dentro do banco mas claro ao invés de fazer isso através de um servidor, é possível fazer isso através do S3.

A forma mais simples é basicamente:

copy tabela_destino
from 'S3://bucket/arquivo'
iam_role 'arn:aws:iam::01234567890:role/MinhaRegraDoRedshift'

Se o arquivo for muito grande e foi dividido ele tem que terminar com um numeral incremental 1 2 3 4 …

Se o arquivo for compactado, o comando de COPY tem que ser incrementado com GZIP.

Para mais informações tem esse link da AWS abaixo:

https://docs.aws.amazon.com/pt_br/redshift/latest/dg/t_loading-tables-from-s3.html

para monitorar essa importação você pode usar o

https://docs.aws.amazon.com/redshift/latest/dg/r_STV_LOAD_STATE.html

Leave a Reply

Your email address will not be published. Required fields are marked *