pj

Guia CLF Análise

Índice

A AWS oferece diversos serviços de análise de dados, incluindo:

  • Amazon Athena
  • Amazon EMR
  • Amazon CloudSearch
  • Amazon OpenSearch Service
  • Amazon Kinesis
  • Amazon QuickSight
  • Amazon Data Pipeline
  • AWS Glue
  • AWS Lake Formation
  • Amazon MSK

Neste artigo, iremos focar em Amazon Athena, Amazon EMR, AWS Glue e Amazon Kinesis, pois esses são os serviços mais prováveis de serem cobrados no exame AWS Certified Cloud Practitioner.

Amazon Elastic Map Reduce

O Amazon EMR é um serviço que permite que empresas, pesquisadores, analistas de dados e desenvolvedores processem de forma simples e econômica grandes volumes de dados.

Ele utiliza um framework Hadoop gerenciado, executado sobre instâncias Amazon EC2 e integrado ao Amazon S3 para armazenamento.

Além do Hadoop, o EMR também oferece suporte a outros frameworks populares, como Apache Spark, HBase, Presto e Flink.

O serviço é amplamente utilizado em cenários como:

  • Análise de logs
  • Análise financeira
  • Processos de ETL (Extração, Transformação e Carga)

No contexto do EMR:

  • Um step é uma tarefa programada que executa um processamento nos dados, como por exemplo contagem de palavras.
  • Um cluster é um conjunto de instâncias EC2 provisionadas para executar esses steps.

O Apache Hadoop, utilizado pelo EMR, é um framework de código aberto em Java que permite o processamento distribuído de grandes volumes de dados em clusters.

Você também pode iniciar clusters com Presto, um motor de consulta SQL distribuído otimizado para análises rápidas em grandes conjuntos de dados.

O EMR provisiona todos os nós de um cluster na mesma Zona de Disponibilidade (AZ) do Amazon EC2.

O acesso ao Amazon EMR pode ser feito por meio do Console de Gerenciamento da AWS, CLI, SDKs ou API.

Além disso, com o EMR você tem acesso ao sistema operacional das instâncias, sendo possível, por exemplo, conectar via SSH para gerenciamento e troubleshooting.

Amazon Athena

O Amazon Athena é um serviço de consulta interativa que permite analisar dados diretamente no Amazon S3 usando SQL padrão.

O Athena é serverless, ou seja, não há infraestrutura para gerenciar, e você paga apenas pelas consultas executadas.

Ele é fácil de usar. Basta apontar para os dados no Amazon S3, definir o esquema e começar a consultar utilizando SQL padrão.

O serviço utiliza o Presto, com suporte completo a SQL, e é compatível com diversos formatos de dados, como:

  • CSV
  • JSON
  • ORC
  • Apache Parquet
  • Avro

O Amazon Athena é ideal para consultas rápidas e ad-hoc e pode ser integrado ao Amazon QuickSight para visualização de dados.

Além disso, ele também suporta análises complexas, como:

  • Grandes junções (joins)
  • Funções de janela
  • Manipulação de arrays

O Athena utiliza um Catálogo de Dados gerenciado para armazenar metadados e esquemas das tabelas criadas sobre os dados armazenados no Amazon S3.

AWS Glue

O AWS Glue é um serviço totalmente gerenciado e pay-as-you-go de ETL (Extract, Transform, Load), que automatiza as etapas demoradas de preparação de dados para análise.

ETL significa Extract, Transform, Load, ou seja, Extrair, Transformar e Carregar dados.

O AWS Glue descobre e perfila automaticamente os dados por meio do Glue Data Catalog, além de recomendar e gerar código ETL para transformar dados de origem em esquemas de destino.

Os trabalhos ETL são executados em um ambiente Apache Spark totalmente gerenciado, permitindo processar e carregar dados de forma escalável.

O serviço também permite configurar, orquestrar e monitorar fluxos de dados complexos.

Você pode criar e executar jobs ETL com poucos cliques no Console de Gerenciamento da AWS.

Com o Glue, você pode:

  • Descobrir propriedades dos dados
  • Transformar dados
  • Preparar dados para análise

O AWS Glue consegue descobrir automaticamente dados:

  • Estruturados e semi-estruturados
  • Armazenados em data lakes no Amazon S3
  • Em data warehouses no Amazon Redshift
  • Em diversos bancos de dados executando na AWS

Ele fornece uma visão unificada dos dados por meio do Glue Data Catalog, que pode ser utilizado para ETL, consultas e relatórios com serviços como Amazon Athena, Amazon EMR e Amazon Redshift Spectrum.

O Glue gera automaticamente código Scala ou Python para os jobs ETL, que podem ser customizados conforme a necessidade.

O AWS Glue é serverless, ou seja, não há necessidade de provisionar ou gerenciar infraestrutura.

Casos de Uso de Análise de Dados e Consulta

Serviços de consulta como Amazon Athena, data warehouses como Amazon Redshift e frameworks de processamento como Amazon EMR atendem a diferentes necessidades e cenários de análise de dados.

O Amazon Redshift oferece alto desempenho de consulta para cargas de trabalho de relatórios empresariais e business intelligence (BI), especialmente em consultas SQL complexas com múltiplas junções e subconsultas.

O Amazon EMR permite executar de forma simples e econômica frameworks distribuídos como Hadoop, Spark e Presto, sendo uma alternativa flexível em relação a ambientes on-premises.

Além disso, o EMR é altamente configurável, permitindo ajustar computação, memória, armazenamento e parâmetros de aplicação para atender aos requisitos analíticos.

O Amazon Athena oferece a forma mais simples e rápida de executar consultas ad-hoc diretamente em dados armazenados no Amazon S3, sem necessidade de provisionar ou gerenciar servidores.

A tabela abaixo apresenta os principais casos de uso e quando utilizar cada serviço de análise e consulta da AWS:

SERVIÇOS AWS

CASOS DE USO

QUANDO USAR

Amazon Athena

Consulta

Executar consultas interativas diretamente em dados no Amazon S3 sem se preocupar com a formatação dos dados ou gerenciamento de infraestrutura. Pode ser usado com outros serviços como o Amazon RedShift

Amazon RedShift

Data Warehouse

Extrair dados de várias fontes, formatá-los e organizá-los, armazená-los e oferecer suporte a consultas complexas e rápidas que geram relatórios comerciais

Amazon EMR

Processamento de Dados

Frameworks de processamento altamente distribuídos, como Hadoop, Spark e Presto. Executa uma ampla variedade de tarefas de processamento de dados de escala para aplicativos como aprendizado de máquina, análise de gráficos, transformação de dados, dados em tempo real

AWS Glue

Serviço ETL

Transforma e move dados para vários destinos. Usado para preparar e carregar dados para análises. A fonte de dados pode ser S3, RedShift ou outro banco de dados. O Catálogo de Dados Glue pode ser consultado por Athena, EMR e RedShift Spectrum

Amazon Kinesis

Amazon Kinesis é um serviço que facilita a coleta, processamento e análise de dados em tempo real, permitindo obter insights rápidos e reagir a novas informações.

Ele é uma coleção de serviços voltada para o processamento de dados em streaming, provenientes de diversas fontes.

Os dados no Kinesis são processados em shards (partições), que determinam a capacidade de ingestão e processamento do fluxo de dados.

Existem quatro principais serviços do Amazon Kinesis, que serão detalhados a seguir.

Kinesis Video Streams

Amazon Kinesis Video Streams facilita o streaming seguro de vídeo de dispositivos conectados para a AWS, permitindo uso em análises, machine learning (ML) e outros processamentos.

O serviço armazena, criptografa e indexa fluxos de vídeo de forma durável, permitindo acesso por meio de APIs simples.

No funcionamento do serviço:

  • Produtores enviam os fluxos de dados de vídeo
  • Consumidores recebem e processam esses dados

Os dados são armazenados por padrão por 24 horas, podendo ser configurados para retenção de até 7 dias.

O serviço suporta múltiplas partições (streams), permitindo escalabilidade no processamento dos dados.

Além disso, oferece criptografia em repouso utilizando AWS KMS (Key Management Service), com suporte a chaves gerenciadas pelo cliente.

Kinesis Data Streams

Amazon Kinesis Data Streams permite criar aplicações personalizadas para processar e analisar dados em tempo real, atendendo a necessidades específicas.

Ele possibilita o processamento em tempo real de grandes volumes de dados (big data) em streaming.

O serviço é utilizado para capturar dados rapidamente de produtores e permitir que esses dados sejam processados continuamente por aplicações consumidoras.

Uma característica importante é que o Kinesis Data Streams armazena os dados temporariamente, permitindo processamento posterior. Isso o diferencia do Amazon Kinesis Data Firehose, que entrega os dados diretamente para outros serviços da AWS.

Casos de uso comuns incluem:

  • Ingestão acelerada de logs e feeds de dados
  • Métricas e relatórios em tempo real
  • Análise de dados em tempo real
  • Processamento de fluxo complexo

Kinesis Data Firehose

Amazon Kinesis Data Firehose é a forma mais simples de carregar dados em streaming para data lakes, data warehouses e ferramentas de análise.

O serviço é responsável por capturar, transformar e carregar dados automaticamente, permitindo análises quase em tempo real com ferramentas de business intelligence.

O Kinesis Data Streams pode ser utilizado como fonte de dados para o Firehose.

Você pode configurar o Firehose para transformar os dados antes da entrega, utilizando, por exemplo, funções AWS Lambda.

Com o Kinesis Data Firehose, não é necessário desenvolver aplicações nem gerenciar infraestrutura.

Além disso, o serviço pode agrupar, compactar e criptografar os dados antes de enviá-los ao destino.

O Firehose realiza replicação síncrona dos dados em três Zonas de Disponibilidade, garantindo alta durabilidade durante a entrega.

Cada delivery stream pode armazenar os dados por até 24 horas antes da entrega final.

Kinesis Data Analytics

Amazon Kinesis Data Analytics é um serviço que permite processar e analisar dados em tempo real diretamente em fluxos de dados (streaming).

Ele possibilita o uso de consultas SQL padrão para processar dados em streaming, facilitando a criação de análises sem a necessidade de gerenciar infraestrutura.

O serviço oferece análise em tempo real, permitindo gerar insights imediatos a partir dos dados em fluxo.

Casos de uso comuns incluem:

  • Análise de séries temporais
  • Alimentação de painéis em tempo real
  • Criação de alertas e notificações em tempo real
  • Execução de consultas SQL em dados de streaming

O Kinesis Data Analytics pode receber dados de:

  • Amazon Kinesis Data Streams
  • Amazon Kinesis Data Firehose

Os resultados processados podem ser enviados para:

  • Amazon S3
  • Amazon Redshift
  • Amazon OpenSearch Service
  • Amazon Kinesis Data Streams