O que é o AppFlow?
O AWS AppFlow é um serviço gerenciado da Amazon Web Services que facilita a transferência de dados entre diversas aplicações SaaS (Software as a Service) e serviços da AWS. Ele é projetado para simplificar e automatizar o fluxo de dados, permitindo que empresas integrem suas aplicações de forma mais eficiente. Aqui estão algumas das principais características e funções do AWS AppFlow:
Essencialmente, o AWS AppFlow oferece uma maneira eficiente e segura de integrar e gerenciar dados de várias fontes, facilitando a análise e a tomada de decisões baseada em dados.
O que é o AWS Glue
AWS Glue é um serviço gerenciado de ETL (Extract, Transform, Load) da Amazon Web Services. Ele facilita a preparação e carregamento de dados para análise, automatizando a descoberta, limpeza, enriquecimento e movimentação de dados entre fontes variadas.
Vantagens principais:
Glue Workflows: Permite criar workflows dentro do Glue. Serve apenas para orquestração de tarefas usando o Glue.
Glue Studio: Interface gráfica que facilita a criação de jobs
Glue Databrew: Interface para preprocessamento de dados no-code
Explique os componentes do Glue: Data Catalog, Crawlers, Jobs, Triggers, Dev endpoints e notebooks
Componentes principais do AWS Glue
É um catálogo de metadados centralizado que armazena tabelas, esquemas, locais de dados e connections. Serve de “dicionário” para os dados na AWS, tornando possível a busca e integração fácil para diversos serviços.
Ferramentas automáticas que vasculham fontes de dados (como buckets S3) para inferir os esquemas e popular o Glue Data Catalog com essas informações atualizadas.
Scripts ETL que processam dados. Podem ser escritos em Python (PySpark) ou Scala, e são executados na infraestrutura gerenciada pela AWS Glue.
Permitem agendar ou acionar a execução de jobs baseado em eventos ou de maneira recorrente.
Ambientes para desenvolvimento interativo de scripts Glue, usando notebooks Spark para teste e debug.
Qual a diferença entre DataFrame e DynamicFrame?
Transformações úteis no Glue
Integração com Spark
Pode-se converter DynamicFrame em DataFrame para aproveitar as funções avançadas do Spark e depois voltar para DynamicFrame com flexibilidade.
Quais são as vantagens e desvantagens do Glue?
Vantagens e desvantagens do AWS Glue
Vantagens
Desvantagens
Sobre o AWS Glue DataBrew: O que é o serviço, para quem é destinado e como se compara ao AWS Glue Studio?
O que é: Um serviço visual de preparação de dados que permite limpar, normalizar e transformar dados sem a necessidade de escrever uma única linha de código (no-code). Ele já vem com mais de 250 a 350 transformações pré-construídas [web:46][web:48].
Para quem é destinado: Foi desenhado especialmente para Analistas de Dados e Cientistas de Dados que precisam focar na exploração e qualidade do dado de forma ágil, sem depender de conhecimentos profundos em infraestrutura ou programação [web:55].
Comparação (DataBrew vs AWS Glue Studio):
- Foco do DataBrew: Totalmente voltado para a exploração, perfilamento e transformação visual dos dados em si. Você vê amostras dos dados e aplica as mudanças de forma interativa [web:46][web:55].
- Foco do Glue Studio: Voltado para a orquestração e criação visual de jobs de ETL (Extração, Transformação e Carga) voltados a desenvolvedores e engenheiros. Permite gerar pipelines e inserir scripts customizados em Spark ou Python, o que não é o foco do DataBrew [web:46][web:55].
Conceitos do AWS Glue DataBrew: Como funcionam os Profile Jobs e as Recipes?
Profile Job (Trabalho de Perfilamento):
- É uma tarefa que você executa para inferir automaticamente o schema (estrutura) do seu dataset e avaliá-lo [web:47].
- Ele gera um painel com insights ricos e estatísticas sobre a qualidade dos dados, mostrando a distribuição de valores, identificando dados ausentes (nulos) e até detectando colunas que contêm dados sensíveis (PII) [web:47][web:55].
Recipe (Receita):
- É um conjunto de passos sequenciais de transformação que você cria visualmente e aplica ao seu dataset (ex: remover nulos, formatar datas) [web:48][web:49].
- Vantagem de Reutilização: Uma vez que a receita é criada e testada, você pode salvá-la, versioná-la e aplicá-la repetidamente a novos arquivos ou até mesmo usar essa mesma receita dentro de um job do AWS Glue Studio [web:49].
Cenário prático: Você recebe um CSV de vendas. Primeiro, roda um Profile Job para descobrir inconsistências. Depois, cria uma Recipe para padronizar o arquivo e a reutiliza todas as semanas quando novos dados de vendas chegam [web:47][web:49].
Segurança no AWS Glue DataBrew: Como utilizar o serviço para lidar com dados sensíveis (PII) antes de armazená-los no Amazon Redshift?
O que é: O DataBrew atua como uma excelente ferramenta de segurança e conformidade, permitindo a detecção e o tratamento de Informações Pessoalmente Identificáveis (PII) diretamente no processo de preparação dos dados [web:41][web:48].
Como funciona: Através das Recipes, você pode aplicar técnicas de ofuscação em colunas específicas. As opções incluem mascaramento (substituir parte do dado por símbolos), hash criptográfico ou encriptação reversível (determinística ou probabilística) [web:41][web:48].
Cenário prático (Integração com Redshift):
- Imagine que você possui dados brutos no S3 contendo CPFs e e-mails que precisam ser analisados no Amazon Redshift.
- Antes de fazer o carregamento (load) desses dados, você utiliza uma Recipe do DataBrew para aplicar encriptação determinística na coluna de CPF [web:41].
- Resultado: Os dados chegam protegidos no Redshift. Os analistas conseguem fazer agrupamentos ou cruzar tabelas (JOIN) usando o CPF encriptado, mas não conseguem visualizar a informação real do cliente, garantindo segurança e adesão às leis de proteção de dados [web:41].
Sobre o AWS Lake Formation: O que é o serviço, como funciona a cobrança e qual o papel dele na criação de um Data Lake?
O que é: Um serviço gerenciado que facilita e agiliza a criação de um Data Lake seguro em questão de dias. Ele centraliza a governança, as permissões e o gerenciamento de dados provenientes de bancos on-premises ou da nuvem [web:56][web:63].
Como funciona:
- Ele não armazena os dados em si; os dados são salvos no Amazon S3 [web:63].
- Ele atua como uma camada de segurança e catálogo centralizado, construído para se integrar perfeitamente ao AWS Glue durante operações de ETL e descoberta de dados [web:58].
Custos e Cobrança:
- O Lake Formation em si é um serviço gratuito. Não há taxas adicionais para gerenciar o acesso aos dados.
- Porém, você paga pelos serviços subjacentes que armazenam, processam ou consultam esses dados, como o Amazon S3 (armazenamento), AWS Glue (ETL e Data Catalog), Amazon Athena (consultas) e Amazon EMR/Redshift (processamento).
Segurança no AWS Lake Formation: Como funcionam os Data Filters para aplicar permissões granulares (coluna, linha e célula) e como isso se difere do IAM?
O que é: O Lake Formation permite um controle de acesso a dados muito mais refinado (Fine-Grained Access Control) do que as políticas tradicionais do IAM, usando o recurso chamado Data Filters [web:60][web:61].
Como funciona (Data Filters):
- Nível de Coluna: Permite restringir o acesso apenas a um conjunto limitado de colunas. Exemplo: Um analista pode ver a tabela de ‘Clientes’, mas a coluna ‘CPF’ e ‘Cartão de Crédito’ ficam ocultas [web:60][web:61].
- Nível de Linha: Utiliza expressões de filtro para restringir os registros retornados. Exemplo: O time de RH do Brasil só consegue visualizar as linhas (funcionários) onde a coluna ‘País’ for igual a ‘BR’ [web:61].
- Nível de Célula: Combina filtros de linha e coluna, ocultando dados específicos em interseções exatas como um grid.
Comparação (Lake Formation vs IAM puro):
- IAM e Bucket Policies: Controlam quem pode acessar o bucket do S3 de forma geral (acesso a nível de arquivo/objeto) [web:63]. Não sabem o que tem dentro do arquivo.
- Lake Formation: Lê o esquema (schema) no Glue Data Catalog e aplica a segurança dentro do dado (nível de linha/coluna), sendo essencial para compliance e governança de dados estruturados [web:60][web:61].
Compartilhamento Cross-account no AWS Lake Formation: Como compartilhar tabelas do Data Lake de forma segura entre contas diferentes?
O que é: O Lake Formation permite que você compartilhe bases de dados e tabelas do seu Data Catalog com outras contas da AWS, mantendo os filtros de segurança (coluna/linha) ativos [web:68].
Como funciona o compartilhamento:
- AWS RAM (Resource Access Manager): O Lake Formation utiliza o AWS RAM nos bastidores para facilitar e gerenciar essa concessão de permissões entre contas diferentes (mesmo que sejam contas externas à sua AWS Organization) [web:68].
- Aceitação: O destinatário na outra conta deve ser um Data Lake Administrator. Se a conta for externa à organização, o RAM envia um convite que precisa ser aceito manualmente para o recurso ficar disponível [web:65].
- Papel do IAM: Apesar do Lake Formation conceder o acesso lógico aos dados, o usuário ou role na conta de destino ainda precisa das permissões de IAM adequadas (como ‘sts:AssumeRole’ e permissões básicas do Glue/Athena) para conseguir executar a consulta na prática [web:58][web:66].
Cenário de uso: A sua conta central de ‘Data Governance’ possui o Data Lake. Você precisa compartilhar apenas as linhas referentes à região ‘Sul’ de uma tabela de Vendas com a conta AWS isolada da equipe regional do Sul. Você usa Lake Formation Data Filters + AWS RAM para esse compartilhamento direto e seguro [web:61][web:68].
O que é o Kinesis Data Stream?
O AWS Kinesis Data Streams é um serviço totalmente gerenciado da Amazon Web Services (AWS) para captura, processamento e armazenamento de grandes volumes de dados em streaming em tempo real. darede.com
Funcionalidades Principais
Ele divide os dados em “shards”, unidades que definem a capacidade de throughput (até 1 MB/s de entrada e 2 MB/s de saída por shard), permitindo escalabilidade para milhões de eventos por segundo. fullcycle.com
Suporta retenção de dados configurável (de 24 horas até 365 dias) e replicação automática entre zonas de disponibilidade para alta durabilidade. gft
Múltiplos consumidores podem ler os dados em paralelo, como aplicações para dashboards, alertas ou integração com outros serviços AWS. docs.aws.amazon
Casos de Uso
Ideal para logs, métricas, cliques em sites, dados IoT, detecção de fraudes e análises em tempo real. aws.amazon
Funciona como um canal similar ao Apache Kafka, com produtores enviando dados e consumidores processando sequencialmente para baixa latência. fullcycle.com
Modos de Operação
- Provisionado: Você define o número de shards antecipadamente, com controle fino sobre capacidade. fullcycle.com
- On-Demand: Escala automaticamente sem provisionamento manual. youtube
O que são “shards” no Kinesis Data Stream?
Shards no AWS Kinesis Data Streams são unidades básicas de capacidade e particionamento em um stream de dados. fullcycle.com
Definição
Eles representam uma sequência única e ordenada de registros de dados, funcionando como partições semelhantes às do Apache Kafka. docs.aws.amazon
Cada shard oferece throughput fixo: até 1 MB/s para escrita (incluindo chaves de partição) e 2 MB/s para leitura, com limites de 1.000 registros/s na escrita e 5 transações/s na leitura. stackoverflow
Função e Escala
O número total de shards determina a capacidade do stream inteiro, permitindo escalabilidade horizontal para lidar com grandes volumes de dados em tempo real. darede.com
Os dados são roteados para shards via chaves de partição, garantindo ordem dentro de cada shard, mas permitindo processamento paralelo entre shards. youtube
Modos de Gerenciamento
- Provisionado: Você define manualmente o número de shards. fullcycle.com
- Sob demanda: O Kinesis cria e gerencia shards automaticamente conforme a carga. docs.aws.amazon
O que é um “record” no Kinesis Data Streams?
No AWS Kinesis Data Streams, um “record” (registro de dados) é a unidade básica de dados armazenada no fluxo. docs.aws.amazon
Composição
Ele consiste em três partes principais: um número de sequência único (atribuído pelo Kinesis para ordenação), uma chave de partição (que determina o shard de destino) e um blob de dados imutável (sequência de bytes de até 1 MB, sem interpretação pelo serviço). docs.aws.amazon
Função no Fluxo
Os records são adicionados sequencialmente em shards via APIs como PutRecord ou PutRecords, permitindo processamento em tempo real com latência baixa (geralmente <1 segundo). docs.aws.amazon
Eles ficam disponíveis durante o período de retenção configurado (24h a 365 dias) para leitura por consumidores independentes. docs.aws.amazon
Quais são os produtores e consumidores no Kinesis Data Streams?
Produtores
Consumidores
Caracteristicas
O Kinesis Data Streams faz o processamento dos dados?
Não, o Kinesis Data Streams em si não faz o processamento dos dados; ele é o serviço de ingestão, buffer e armazenamento temporário do stream. aws.amazon
Papel do Kinesis Data Streams
- Ele recebe os eventos (records), distribui em shards e garante durabilidade e baixa latência de leitura. docs.aws.amazon
- Ele permite que múltiplas aplicações leiam esses dados e façam o processamento em paralelo, mas não aplica lógica de negócio por conta própria. alexjunio.com
Quem faz o processamento?
- Normalmente você usa consumidores como AWS Lambda, aplicações em EC2/ECS/EKS, Apache Flink ou Kinesis Data Analytics para ler do stream e processar/transformar os dados. ios.com
- Esses consumidores podem calcular agregações, enriquecer eventos, detectar fraudes, gerar métricas em tempo real e então gravar em bancos, S3, OpenSearch etc. gft
Resumindo a ideia
Pense no Kinesis Data Streams como um “tópico” altamente escalável e durável (similar a Kafka): ele recebe e mantém os eventos por um tempo; o processamento acontece nas aplicações que consomem esse stream. fullcycle.com
Você já tem algum caso de uso em mente (por exemplo, logs de app, eventos de IoT, clickstream) para eu sugerir uma arquitetura concreta em cima de Kinesis?
O que é o Kinesis Enhanced Fan-Out e para que ele serve?
Kinesis Enhanced Fan-Out é um recurso do Kinesis Data Streams que dá a cada consumer uma capacidade dedicada de leitura de até 2 MB/s por shard, independente dos outros consumidores. aws.amazon
O que é
- É um modo especial de consumo em que o stream “empurra” (push) os records para o consumer via SubscribeToShard, em vez de o consumer ficar fazendo polling. docs.aws.amazon
- Cada consumer Enhanced Fan-Out tem throughput reservado por shard, sem disputar a mesma cota de leitura com outros consumidores do mesmo stream. stackoverflow
Para que serve
- Resolver gargalos quando há vários consumidores lendo do mesmo stream (por exemplo: ETL, monitoramento, fraudes, ML) e o limite de leitura compartilhado começa a ser um problema. docs.aws.amazon
- Reduzir latência de entrega e aumentar paralelismo: cada aplicação consegue ler em alta taxa e com menos interferência dos demais consumidores, sem precisar criar streams duplicados. databricks
Detalhes práticos
- Cada consumer Enhanced Fan-Out recebe até 2 MB/s por shard; esse throughput escala automaticamente com o número de shards do stream. docs.databricks
- Você registra um consumer (RegisterStreamConsumer) e depois assina shards específicos (SubscribeToShard); a entrega é contínua e em modo push. docs.aws.amazon
No Kinesis qual a diferença entre Standard Consumers e Enhanced Fan Out Consumers?
Standard Consumers e Enhanced Fan-Out Consumers são os dois modos principais de leitura em um Kinesis Data Streams, com diferenças chave em throughput, latência e modelo de entrega.
Diferenças de Throughput
Standard (ou Classic/Shared) compartilha até 2 MB/s de leitura por shard entre todos os consumidores, podendo causar contenção com múltiplos leitores.
Enhanced Fan-Out dá 2 MB/s dedicados por shard para cada consumidor, sem interferência entre eles, escalando linearmente com o número de shards.
Quando usar cada um
Standard é ideal para poucos consumidores (<3) com latência tolerável e custo zero extra.
Enhanced Fan-Out é para cenários de alta escala, baixa latência e múltiplos consumidores paralelos (ex.: Lambda + analytics + ML), mas tem custo adicional por consumer e GB lido.
O que é o Kinesis Firehose, suas caracteristicas e as origens e destinos possíveis dos dados?
O Amazon Data Firehose (anteriormente Kinesis Data Firehose) é um serviço totalmente gerenciado para capturar, transformar e entregar dados de streaming em near real-time para destinos como data lakes e analytics.
Características Principais
Ele bufferiza dados automaticamente (mínimo 1-128 MB ou 60-900s), faz transformações leves via Lambda (formato, compressão, filtro) e escala sem gerenciamento de shards.
Oferece backup para S3 em caso de falha no destino principal, alta durabilidade (replicação em 3 AZs) e integração direta com produtores como apps, Kinesis Streams ou agentes de log.
É “near real-time” (latência de 60s+), ideal para cargas não críticas em latência, com cobrança só por GB entregue.
Origens de Dados
- Direto via SDK/API, Kinesis Producer Library (KPL), agentes Fluentd/Fluent Bit ou serviços AWS (CloudWatch Logs, IoT).
- Kinesis Data Streams (como consumidor).
# Destinos Suportados
- Amazon S3, Redshift, OpenSearch Service
- Splunk, Datadog, MongoDB, New Relic (via HTTP endpoints)
- Qualquer HTTP endpoint/API Gateway
O que é o Kinesis Data Analytics/ Managed Service for Apache Flink?
O Amazon Managed Service for Apache Flink (anteriormente Kinesis Data Analytics) é um serviço gerenciado da AWS para processar e analisar dados de streaming em tempo real usando Apache Flink. docs.aws.amazon
O que é
Ele permite executar aplicações Flink (em Java, Scala, Python ou SQL) diretamente na nuvem, ingerindo de fontes como Kinesis Data Streams, Firehose ou MSK, com processamento stateful, windowing e agregações complexas. youtube
A AWS gerencia cluster, escalabilidade, backups e recuperação, suportando até petabytes de dados por dia com latência sub-segundo. amazonaws
Características Principais
- Linguagens: SQL simples, PyFlink, Java/Scala Beam/Flink APIs. docs.aws.amazon
- Estado: Armazenamento gerenciado de estado com checkpoints automáticos para exactly-once e recuperação rápida. amazonaws
- Escala: KPU (Flink Processing Units) provisionados ou on-demand, auto-scaling baseado em carga. docs.aws.amazon
Casos de Uso
Ideal para detecção de fraudes, métricas em tempo real, ETL streaming e join com dados históricos, enviando resultados para S3, Redshift, Lambda ou dashboards. darede.com
Você pretende usar SQL simples ou aplicações Flink mais complexas (ex.: PyFlink com windowing)?
O que é o AWS Lake Formation? Quando utiliza-lo?
AWS Lake Formation é um serviço totalmente gerenciado da AWS para construir, proteger e gerenciar data lakes centralizados no Amazon S3, integrando metadados do AWS Glue Data Catalog. docs.aws.amazon
Funcionalidades Principais
Ele centraliza governança com controle de acesso refinado (nível database, tabela, coluna, linha/célula) usando permissões próprias que complementam o IAM, além de LF-tags para políticas baseadas em atributos. docs.aws.amazon
Suporta ingestão de dados de fontes como S3, RDS (MySQL, PostgreSQL etc.), DynamoDB e até federação com Redshift/BigQuery sem migração, com catálogo unificado e auditoria automática. docs.aws.amazon
Automatiza catalogação, limpeza e compartilhamento seguro entre contas AWS ou com parceiros externos. ibm
Quando Utilizar
Use quando você tem (ou planeja) um data lake no S3 com múltiplos usuários/equipes precisando de acesso granular, governança centralizada e conformidade (ex.: GDPR, LGPD), evitando silos e configurações manuais de IAM/S3. datacamp
Ideal para analytics/ML em escala, ETL com Glue e quando quer unificar dados de fontes heterogêneas sem mover tudo para S3 imediatamente. docs.aws.amazon
Você já tem um data lake rodando no S3 ou está começando do zero com Lake Formation?