-
Na AWS a gente consegue
capturar dados desde a entrada
-
e já fazer a consulta nesses dados,
-
sem ter que configurar
praticamente nada,
-
usando o serviço do Glue.
-
Então primeiro vamos mostrar
para vocês
-
como que a gente faz a partir
de um dado como o arquivo CSV,
-
incluir esse dado na AWS e depois
fazer uma consulta SQL nesse dado
-
que a gente acabou de inserir.
-
Aqui no console,
eu vou acessar aqui o serviço do "S3",
-
que é o serviço de armazenamento
de objetos da AWS.
-
E vou criar o bucket de entrada,
-
é um repositório onde eu coloco
diversos tipos de arquivos.
-
Pode ser imagem,
pode ser um texto,
-
pode ser um arquivo CSV,
por exemplo.
-
Então,
vou criar aqui o meu bucket.
-
Vou criar aqui
"ftf-bucket-dados-brutos",
-
que é onde a gente vai fazer
a carga do nosso arquivo CSV.
-
O bucket "propósito geral" mesmo.
-
Aqui eu não marco nada.
-
Não preciso ter acesso público.
-
Ou melhor, vou manter bloqueado aqui
o "acesso público".
-
Só acesso pela AWS mesmo.
-
Não preciso de "versionamento"
e não preciso da "chave do bucket".
-
Vou criar aqui o nosso bucket.
-
Então a gente já criou
o nosso bucket de entrada,
-
que é onde a gente vai gravar
um arquivo CSV.
-
Então vamos gravar aqui
um arquivo CSV
-
e depois criar um bucket
onde ele vai executar consultas SQL
-
e depois cada consulta gera
um arquivo separadamente
-
e eu consigo ter a extração
das informações que eu preciso.
-
Então,
vou clicar aqui
-
no nosso "ftf-bucket-dados-brutos"
e vou subir um arquivo CSV.
-
Vou fazer uma carga desse arquivo.
-
Vou clicar em "adicionar arquivos".
-
Então, eu já tinha baixado aqui
o arquivo,
-
vou clicar aqui em "downloads",
"employees.csv",
-
dou um "open"
e vou fazer a carga.
-
É um arquivo simples,
ele tem um pouco mais de 1 mega,
-
dois mega quase.
-
Já está lá disponível para a gente
e já vou deixar um bucket pré-criado
-
para quando a gente for fazer
consultas nesses dados,
-
ele salvar os resultados
nesse bucket de saída, tá?
-
Vou criar aqui o bucket,
que eu vou chamar...
-
A gente precisa lembrar
que o nome do bucket
-
tem que ser único no mundo.
-
Então, sempre tenta colocar
algo que seja identificador único seu.
-
Por exemplo, as suas iniciais,
que é o que a gente vai usar.
-
Vou colocar aqui
"ftf-bucket-",
-
ftf são as minhas iniciais,
-
"bucket-saida-glue".
-
que é o que a gente vai executar,
ou melhor,
-
a gente vai executar aqui o "athen".
-
Vou deixar essa parte pré-configurada
"sem versionamento" também,
-
sem "chave do bucket".
-
Então, eu tenho o meu bucket
de arquivos de entrada
-
e depois quando eu executar
a consulta SQL
-
eu tenho um bucket
que vai armazenar as consultas.
-
Agora a gente vai fazer
o segundo passo,
-
que é criar um crawler,
que é um serviço
-
que vai buscar dados
dentro desse bucket de entrada.
-
Então, toda vez que a gente
tiver um arquivo novo,
-
ele automaticamente vai identificar
-
quais são as características
desse arquivo, ou seja,
-
o tamanho do arquivo,
-
as colunas que eu vou utilizar,
ele vai inferir isso
-
para que eu consiga fazer
consultas nesse arquivo.
-
Vou colocar aqui no serviço,
na caixa de busca.
-
Vou colocar aqui "glue",
"AWS Glue" está aqui.
-
Esse é o serviço do "AWS Glue",
a gente tem aqui os "Jobs ETL",
-
e mais para baixo,
a gente tem algumas configurações.
-
Vou clicar aqui em "ETL Jobs".
-
Então,
aqui a gente tem várias configurações
-
dentro desse ambiente do Glue,
posso rodar o serviço de ETL
-
que é extração,
transformação e carga.
-
Ou eu vou rodar,
como se fosse um robô
-
que é chamado de crawler,
-
que vai tentar buscar
em algum caminho específico,
-
seja lá um bucket,
como a gente criou.
-
Vai identificar as características
dos arquivos
-
para que a gente consiga
extrair os metadados
-
e a gente faça consultas
SQL dentro desses metadados.
-
Então,
vou criar aqui um crawler.
-
Vou chamar aqui
de "crawler-dados-brutos".
-
Vou clicar em avançar.
-
Eu vou adicionar aqui
um "data source".
-
De onde vem a fonte
desses dados?
-
"Adicionar um data source".
-
Ele vem lá do bucket do "s3".
-
Aqui embaixo eu vou buscar
aonde está esse bucket do "s3".
-
Está nessa conta.
-
Vou clicar aqui "browse s3"
-
para fazer a busca
desse bucket do "s3".
-
É o nosso banco de dados de entrada,
nossos dados brutos.
-
Vou clicar em "choose".
-
Aqui por enquanto está vermelho,
se eu clicar fora,
-
some a mensagem.
-
Tem as configurações
que ele pode buscar por subpastas,
-
que é o que a gente deixou
pré-selecionado
-
ou só para novas pastas.
-
O que isso quer dizer?
-
Você pode preparar esse crawler
para buscar
-
sempre que tiver um arquivo novo
dentro desse bucket,
-
ou só quando eu subir
uma pasta nova,
-
porque ele já sabe que aquilo
é algo novo
-
e não precisa procurar
em todos os arquivos dentro da AWS.
-
Então aqui a gente vai deixar
para marcar a primeira opção mesmo
-
dentro do "sub-folders"
e vou adicionar essa fonte de dados.
-
Vou clicar em "next".
-
Aqui eu preciso selecionar
a nossa função de teste,
-
nosso ambiente de teste,
que é o "LabRole",
-
com essa função a gente consegue
executar as consultas necessárias.
-
Vou dar um "next".
-
Eu vou configurar agora
uma base de dados
-
para que quando o meu arquivo
do meu bucket,
-
ele vai criar uma base de dados
metadados.
-
O que são os metadados?
-
Ele vai dar informações
dos tipos de colunas,
-
de como é a estrutura
desses dados
-
que estamos fazendo essa leitura.
-
Então vou clicar aqui,
-
"add database".
-
Ele vai abrir aqui uma nova janela.
-
Ele está aqui nessa guia de database,
-
se eu clicasse aqui,
por exemplo,
-
posso criar uma nova base de dados,
-
que é a mesma tela que a gente caiu.
-
Vou colocar aqui o nome
"db-metadados".
-
E vou clicar em "criar database".
-
Já tenho a base de dados
criada aqui para a gente.
-
Agora eu vou voltar
para a parte da criação do crawler
-
para que a gente aponte
para essa nova base de dados
-
que a gente acabou de criar.
-
Voltei aqui para nossa tela,
estava em outra aba,
-
a gente estava aqui
na parte de criação.
-
Voltei para a aba anterior.
Vou dar um refresh.
-
Já está aqui a nossa
base de dados de metadados, tá?
-
Posso colocar opcionalmente
um prefixo para o nome das tabelas
-
que ele vai criar ou não.
-
Vou deixar assim por enquanto.
-
E essa informação de baixo
é importante.
-
Ele define quando a gente
vai executar esse crawler,
-
esse robô que vai de tempos
em tempos buscar informações novas
-
no nosso bucket.
-
A gente tem as opções sob demanda,
-
a cada hora, diariamente,
semanalmente, mensalmente,
-
ou você define quando que você quer
exatamente executar.
-
Então,
a gente vai executar sob demanda.
-
Então, a gente vai ativar
somente quando a gente precisar
-
que ele leia arquivos novos.
-
Vou clicar aqui em "next"
e vou criar aqui o nosso crawler.
-
Ele está criando aqui o crawler,
vou dar um refresh.
-
Vamos aguardar
mais alguns instantes.
-
Vou clicar aqui novamente
em "crawlers".
-
Pronto.
-
Já apareceu aqui o nosso crawler,
ele está pronto para ser executado.
-
Ele ainda não foi nenhuma vez
executado.
-
Está aqui,
não tem um agendamento,
-
ele é sob demanda mesmo, tá?
-
E aí eu posso mandar executar,
vou dar aqui um "run".
-
O que ele está fazendo agora?
-
Ele está indo no bucket do "s3"
que a gente criou,
-
vai procurar por todos arquivos
que tem ali dentro
-
e para cada arquivo que ele encontrar,
-
ele vai entender a estrutura dele,
vai tentar inferir o tipo de dado
-
que está em cada coluna
do nosso arquivo CSV,
-
para que a gente depois consiga
fazer uma consulta usando SQL,
-
por exemplo,
dentro desse bucket que a gente criou.
-
Então aqui ele já executou
o nosso crawler,
-
executou aqui com sucesso.
-
Então,
a gente vai ver aqui.
-
Vou dar um refresh para ele
atualizar aqui as informações.
-
Posso clicar aqui no nosso crawler.
-
Já mostra quando foi
a última vez que ele foi executado.
-
Vou clicar aqui
na nossa base de dados
-
para ver se ele criou alguma tabela
daquilo que ele achou.
-
Vou clicar aqui em "tables".
-
O que ele criou aqui?
-
"ftf_bucket_dados_brutos".
-
Ele tinha lá um arquivo
e aqui a gente vai ver
-
o que ele identificou de dados
nesse arquivo que a gente subiu.
-
Então,
a gente já executou o nosso crawler.
-
Aqui nas tabelas
ele vai dar as informações
-
daquilo que ele conseguiu visualizar.
-
Eu posso ver os dados diretamente,
eu posso ver os metadados.
-
Vou clicar aqui para ver
as características desses dados.
-
"View Data Quality".
-
E aqui em "table overview",
-
ele vai me dar o que ele entendeu
desses dados.
-
Ele já identificou, por exemplo,
14 colunas.
-
Tem o ID do funcionário,
por exemplo,
-
vai ter aquele tipo de dado
que ele identificou.
-
Ele identificou como "bigint",
cidade como "string",
-
o índice de desenvolvimento da cidade
como "double"
-
e assim por diante.
-
Então, legal.
-
Isso aqui são os metadados
que ele identificou para depois
-
eu consiga fazer uma consulta
eu já sei com que tipo de dado
-
que eu estou lidando.
-
Então, vou voltar aqui novamente
para as minhas tabelas,
-
vou selecionar aqui a nossa tabela
e vou clicar em "table data".
-
Assim que eu clicar em "table data"
-
ele vai abrir um novo serviço
chamado Athena,
-
que é um serviço
que permite rodar consulta SQL
-
nesse conjunto de dados
que a gente acabou de mapear,
-
de definir os metadados
e fazer uma consulta
-
e extrair informações agregadas,
por exemplo.
-
Vou voltar aqui para a gente ver.
-
Vou clicar aqui em "table data".
-
Vai abrir aqui
uma nova guia para a gente.
-
E veja que ele já criou aqui
uma query SQL.
-
Só que antes de executar essa query,
ele está falando:
-
"você não definiu
o local de saída dessa query."
-
Eu preciso definir isso
antes de configurar,
-
executar essa consulta SQL.
-
Vou clicar aqui em configurações
e vou clicar em "gerenciar".
-
Aqui tem a opção de colocar
onde vai ter o resultado
-
das queries que eu fizer pela Athena,
a gente vai colocar aqui.
-
Vamos clicar em "Browse s3"
-
e vamos escolher o nosso
bucket de saída que a gente criou
-
logo no começo dessa matéria.
-
Vou clicar aqui em "escolher".
-
E vou clicar em salvar.
-
Legal.
-
Vou voltar aqui para o nosso editor.
-
Já sumiu aquela
mensagem de erro.
-
Eu consigo visualizar
as tabelas que ele criou,
-
a tabela ele deu o mesmo nome
do bucket que a gente já tinha
-
e aqui tem umas colunas
que ele identificou.
-
Então, vou fazer uma consulta
nesse catálogo de metadados,
-
nessa base de dados,
nessa tabela aqui.
-
Eu poderia até renomear
essa tabela,
-
mas vamos executar assim mesmo,
só para a gente ver a consulta
-
como vem para a gente.
-
Vou clicar "executar".
-
Pronto.
-
A gente já conseguiu consultar
todos os dados do nosso arquivo CSV.
-
Veja que a gente não precisou
configurar o banco de dados.
-
A gente acessou diretamente
o arquivo sem configurar nada da AWS,
-
a gente carregou um arquivo
dentro do S3
-
e a gente rodou um robô
chamado crawler
-
para conseguir extrair os metadados
para que a gente conseguisse
-
executar uma consulta
SQL dentro desses arquivos.