Alura > Cursos de Data Science > Cursos de SQL e Banco de Dados > Conteúdos de SQL e Banco de Dados > Primeiras aulas do curso Amazon Redshift: ingestão de dados

Amazon Redshift: ingestão de dados

O que é e para que serve o Amazon Redshift e Configuração de Cluster - Apresentação

Introdução ao Curso de Amazon Redshift

Olá! Meu nome é Danielle Oliveira, sou instrutora da Escola de Dados da Alura e irei acompanhar vocês neste curso sobre Amazon Redshift em gestão de dados.

Audiodescrição: Daniela é uma mulher de pele morena, com cabelos cacheados e olhos castanhos. Ela está sentada, vestindo uma blusa preta. Ao fundo, há uma parede branca iluminada nas cores roxa e azul, com uma pequena decoração que representa seu estado.

Estrutura do Curso

Neste curso, começaremos criando nosso próprio cluster Amazon Redshift. Em seguida, criaremos nosso banco de dados, tabelas e inseriremos os primeiros dados utilizando a linguagem SQL. Posteriormente, conheceremos outra ferramenta que também podemos utilizar para trabalhar com a gestão de dados.

Configuração do Ambiente

Vamos, primeiramente, criar nosso bucket S3 e, em seguida, configurar nosso role, perfil e permissão de acesso ao S3, do Redshift ao S3. Em seguida, utilizaremos o Redshift Spectrum para configurar o acesso a dados externos e realizar nossas primeiras consultas a esses dados.

Transferência de Dados com a Ferramenta Copy

Além disso, conheceremos a ferramenta Copy, onde teremos nossos arquivos armazenados no bucket S3 e utilizaremos a ferramenta Copy para transferir nossos dados do S3 para dentro do Redshift.

Para ilustrar como a ferramenta Copy funciona, vamos ver um exemplo de código que realiza essa operação:

COPY table_name
FROM 's3://bucket_name/file_path'
CREDENTIALS 'aws_access_key_id=<your-access-key-id>;aws_secret_access_key=<your-secret-access-key>'
REGION 'us-west-2'
FORMAT AS CSV;

Esse comando COPY é utilizado para transferir dados de um arquivo CSV armazenado no S3 para uma tabela no Redshift. Você precisa especificar o nome da tabela de destino, o caminho do arquivo no S3, as credenciais de acesso e a região onde o bucket está localizado.

Análise de Dados e Pré-requisitos

Finalizaremos nossos estudos realizando análises nos dados que foram inseridos em nosso cluster.

Para que possamos aproveitar bem este curso, indicamos que já tenhamos conhecimentos prévios na linguagem SQL, que é a linguagem utilizada para manipular os dados dentro do Redshift.

Conclusão

Vamos colocar a mão na massa e começar a utilizar o Amazon Redshift.

O que é e para que serve o Amazon Redshift e Configuração de Cluster - Criando e configurando um cluster Redshift

Introdução ao Trabalho na Agência de Marketing Digital

Nós fomos contratados como analistas de dados para trabalhar em uma agência de marketing digital que gerencia diversas campanhas online para vários clientes. Nosso trabalho envolve lidar com uma variedade de dados, incluindo custo por canal, campanhas, dados de clientes, segmentação de clientes e muito mais. Nosso objetivo é ingerir esses dados, gerenciá-los e realizar análises para obter insights que auxiliarão tanto os gestores da agência quanto os clientes na tomada de decisão.

Desafios Atuais da Agência

Atualmente, a agência enfrenta alguns problemas. Com o crescimento dos dados, está se tornando difícil expandir o banco de dados e o projeto, e as análises estão demorando muito mais para serem finalizadas e retornarem os insights. Como novos contratados, precisamos encontrar uma solução robusta e escalável que atenda a essas necessidades.

Introdução ao Amazon Redshift

É nesse contexto que entra o Amazon Redshift, uma solução robusta, escalável e baseada na nuvem, já que faz parte da AWS. O Amazon Redshift é um cluster de data warehouse, onde podemos centralizar todos os nossos dados e realizar análises. Um cluster é como se fossem vários computadores trabalhando juntos.

Vantagens do Uso de Clusters

Vamos imaginar uma empresa com vários setores, como financeiro, RH e vendas. Todos esses setores enviam informações para um único computador, e uma pessoa analista de dados precisa processar esses dados e retornar relatórios para todos os setores. Nesse cenário, teríamos muitos dados entrando, mas apenas uma única saída, o que resultaria em uma análise de dados mais lenta.

Quando trabalhamos com um cluster, temos uma equipe de computadores. Assim, os três setores alimentam o banco de dados, mas também temos vários computadores para armazenar, processar e retornar análises de forma muito mais rápida. Isso resulta em um processamento eficiente e um retorno de consulta muito mais rápido. Essa é a vantagem de utilizar um cluster: um processamento mais ágil. Por isso, o Amazon Redshift é utilizado para grandes análises de dados.

Criando um Cluster no Amazon Redshift

Agora que conhecemos um pouco mais sobre o Amazon Redshift, é hora de colocar a mão na massa e criar nosso próprio cluster. O primeiro passo é ter uma conta na AWS. Após criar a conta, acessamos a página inicial do console. Nessa página, encontramos várias informações, incluindo ferramentas visitadas recentemente, como o Amazon Redshift, o S3 e outras.

Localizando e Selecionando o Amazon Redshift

Para localizar o Amazon Redshift, se já o acessamos anteriormente, ele estará em "visitados recentemente". Caso contrário, podemos usar o menu superior, na opção de busca, e procurar por Amazon Redshift.

Podemos começar selecionando "Red" e, entre as opções que aparecem, escolheremos o Amazon Redshift. Ao clicar, seremos direcionados para a página inicial do Redshift. Nesta página, encontramos diversas informações sobre a ferramenta, como preços, documentação, benefícios e casos de uso. Vamos nos concentrar na parte superior, onde há a opção de teste gratuito do Redshift sem servidor (serverless). É essa opção que utilizaremos.

Escolhendo o Modo de Operação do Redshift

Existem duas formas de trabalhar com o Amazon Redshift: sem servidor e com servidor. No modo provisionado, configuramos o Redshift do zero, definindo todas as configurações, como a quantidade de nós e o cluster. No modo sem servidor, o gerenciamento da infraestrutura e o escalonamento do cluster são responsabilidades do próprio Redshift. Optaremos pelo modo sem servidor, principalmente por conta do período de teste gratuito, que oferece créditos de 300 dólares ou 90 dias.

Configurando o Redshift Sem Servidor

Ao clicar em "Experimente o teste gratuito do Redshift sem servidor", seremos direcionados para a página de configuração. Nos conceitos básicos do Amazon Redshift sem servidor, recebemos 30 dólares de crédito para uso nesta conta. Nas configurações, manteremos as opções padrão: o namespace padrão e o banco de dados padrão, que é o dev. Não criaremos nenhuma função do IAM nem alteraremos o grupo de trabalho, mantendo o default workgroup. Por fim, clicaremos em "Salvar configuração" para iniciar a criação do nosso cluster.

Finalizando a Criação do Cluster

Durante a criação, a tela informa que o processo está em andamento, com uma porcentagem de conclusão. Com este cluster, não precisaremos nos preocupar com o gerenciamento da estrutura ou o escalonamento, mas devemos ficar atentos ao período de teste gratuito, que é de 300 dólares ou 3 meses, para evitar cobranças ao final do período.

Após a criação do cluster, clicaremos em "Continuar". No painel da tecnologia sem servidor, na parte superior da página, encontraremos diversas informações. Inicialmente, nenhum dado estará disponível em namespaces e grupos de trabalho. Podemos esperar um pouco e atualizar a página até que o namespace e o grupo de trabalho estejam disponíveis. Com o cluster criado, podemos avançar para criar nosso banco de dados e começar a trabalhar com nossos dados no Redshift.

Conclusão

Neste segmento, não foram apresentados snippets de código, pois o foco foi na explicação dos conceitos e na navegação pela interface do console da AWS para criar uma instância do Amazon Redshift sem servidor usando as configurações padrão.

O que é e para que serve o Amazon Redshift e Configuração de Cluster - Criando o banco de dados

Configuração Inicial do Cluster Redshift

Já configuramos e iniciamos nosso cluster Redshift. Agora, é o momento de definir a estrutura dos nossos dados, ou seja, onde as informações serão armazenadas. Vamos voltar ao nosso console do serverless. Existem algumas opções e informações adicionais que devemos sempre verificar.

Verificação e Exclusão do Cluster

Primeiro ponto: se já finalizamos a criação do cluster e nem o namespace nem o grupo de trabalho estão disponíveis, é recomendável atualizar a página do console, pois eles provavelmente ficarão disponíveis imediatamente.

Outro ponto importante: caso tenhamos criado um cluster sem servidor e desejemos excluí-lo, podemos acessar o namespace. No nome do grupo de trabalho, encontramos as informações e o status do grupo de trabalho, além de uma caixa de seleção chamada "ações" e a opção "delete". Ao excluir o namespace, automaticamente também excluímos o cluster sem servidor recém-criado. Assim, se não formos mais trabalhar com o cluster, basta acessar o namespace, ir em "ações" e deletar o namespace.

Seleção da Região e Criação do Banco de Dados

Devemos também nos atentar à região selecionada. No menu superior, próximo às configurações do perfil, encontramos essa informação. Por exemplo, Estados Unidos, Norte da Virgínia, é a região utilizada para criar nosso cluster. Para qualquer ação relacionada ao cluster, é necessário garantir que a mesma região esteja selecionada.

Com esses pontos reforçados, podemos seguir para a criação do banco de dados. Para executar os comandos, acessamos o menu lateral, localizado abaixo do logotipo da AWS, representado por três barras. No menu lateral, encontramos diversas informações, como o painel de tecnologia sem servidor, opções de monitoramento e integração. Nosso foco agora é o editor de consultas v2, a ferramenta que utilizaremos para conectar ao cluster e executar todos os comandos.

Conexão ao Editor de Consultas

No editor de consultas, no menu superior, encontramos o grupo de trabalho e o cluster. Selecionamos o serverless default workgroup e o banco de dados dev. Para quem acessa o editor v2 pela primeira vez, essas opções podem não estar disponíveis. Nesse caso, no menu lateral, na seção do Redshift, encontramos o editor v2 e a opção serverless default workgroup, que representa nosso cluster disponível. Ao clicar duas vezes, uma tela de configuração de acesso ao grupo de trabalho aparece. Podemos deixar a configuração padrão, que é usuário federado, e criar a conexão sem alterar nada, nem o banco de dados, nem a opção selecionada. Após criar a conexão, seremos direcionados para a tela correspondente.

Se, mesmo após criarmos a conexão, nada acontecer, devemos atualizar a página novamente, pois isso provavelmente resolverá o problema. Após estabelecermos a conexão com nosso grupo de trabalho, temos a opção do serverless default workgroup. Dentro dele, existem duas opções: o native database (banco de dados nativo) e o external database (banco de dados externo). Vamos abrir a opção de native database, onde encontraremos dois bancos de dados disponíveis: o dev, que criamos ao configurar nosso cluster, e o sample data dev, que contém informações de configuração do nosso cluster Redshift. Assim, já temos dois bancos de dados criados.

Criação do Banco de Dados Marketing Digital

Agora, vamos criar o banco de dados que utilizaremos durante nossos estudos. Podemos criar esse banco de dados acessando a opção de create no menu superior, que é uma caixa de seleção. Nela, temos algumas opções: criar um banco de dados (database), criar um esquema (schema), criar uma tabela (table) e criar uma função (function). Vamos selecionar a opção database, onde diversas informações serão solicitadas, como o cluster ou grupo de trabalho (workgroup), o nome do banco de dados, entre outras.

No entanto, vamos criar esse banco de dados executando um comando SQL, para relembrarmos ou colocarmos em prática esses conceitos. O comando começa com CREATE, seguido de DATABASE, semelhante à criação de bancos de dados no Oracle ou Postgres, que utilizam a linguagem SQL. Em seguida, especificamos o nome do banco de dados, que será marketing_digital, e finalizamos com ponto e vírgula.

Aqui está o comando SQL que utilizamos para criar o banco de dados:

CREATE DATABASE Marketing_Digital;

No menu superior, clicamos no botão run para executar a criação do banco de dados. O resultado aparecerá na tela inferior, indicando se o banco de dados foi criado com sucesso. E sim, criamos nosso banco de dados com sucesso.

Verificação e Conexão ao Banco de Dados Criado

Para verificar e conectar ao nosso banco de dados, utilizamos o botão de atualizar no menu lateral, que possui setas conectadas. Ao clicar, ele atualiza a lista de bancos de dados. Agora, ao invés de dois bancos de dados nativos, temos três. Para garantir que estamos conectados ao banco de dados marketing_digital, devemos selecioná-lo no menu superior, onde estão listados os bancos de dados disponíveis. Caso ele ainda não esteja disponível, atualizamos a página novamente. Após o carregamento, selecionamos o banco de dados marketing_digital, assegurando que todas as operações serão realizadas nele.

Devemos sempre verificar se o banco de dados que criamos está selecionado, especialmente porque temos apenas um grupo de trabalho, o que simplifica essa verificação. Agora que criamos o cluster e o banco de dados, é hora de avançar e criar nossas tabelas para inserir os dados. Isso será abordado no próximo conteúdo.

Sobre o curso Amazon Redshift: ingestão de dados

O curso Amazon Redshift: ingestão de dados possui 149 minutos de vídeos, em um total de 48 atividades. Gostou? Conheça nossos outros cursos de SQL e Banco de Dados em Data Science, ou leia nossos artigos de Data Science.

Matricule-se e comece a estudar com a gente hoje! Conheça outros tópicos abordados durante o curso:

Aprenda SQL e Banco de Dados acessando integralmente esse e outros cursos, comece hoje!

Conheça os Planos para Empresas