Informática · Concurso PRF, PF
Data lake, Hadoop e streaming de dados
4 min de leituracom podcast7 flashcards
Cai no edital de: PRF, Agente PF, Escrivão PF, Papiloscopista PF
Resumo: Data lake, Hadoop e streaming de dados
Essência. Tecnologias de big data: o data lake guarda dados brutos; o Hadoop distribui armazenamento (HDFS) e processamento (MapReduce); o streaming (Kafka, Flink) trata fluxos contínuos de eventos.
- Data lake: dados brutos, de várias fontes e formatos; esquema na leitura; processo ELT (transforma no destino). Ex.: vídeos de câmeras, logs e planilhas guardados como vieram.
- Data warehouse: dados tratados e estruturados; esquema na escrita; ETL (transforma antes de carregar). Ex.: base consolidada de autuações para painéis de BI.
- HDFS: mestre/escravo, em Java; NameNode guarda metadados; DataNodes guardam os blocos.
- MapReduce: divide o processamento entre máquinas; a saída costuma ser menor que a entrada.
- HBase: NoSQL sobre HDFS; regiões que se dividem automaticamente.
- Kafka: producer publica em tópicos; consumer lê; broker armazena e replica várias partições; armazenamento durável.
- Lambda (lote + fluxo, 3 camadas) × Kappa (só fluxo).
Exceções e distinções. Ingestão streaming = contínua, evento a evento; carga incremental (só novos desde a última execução) é lote. Dados estruturados (tabelas, SQL), semiestruturados (JSON, XML) e não estruturados (texto, imagem).
Pegadinha Cebraspe. "Data lake armazena dados refinados em processos anteriores" → errado: isso é data warehouse.
Lembre também: "Kafka prescinde de armazenamento durável", "cada broker hospeda uma partição" e "Kappa tem quatro camadas" são errados; banco relacional: chave primária, estrangeira, ACID.
Visão geral
Tecnologias que armazenam e processam big data: o data lake guarda dados brutos; o ecossistema Hadoop distribui armazenamento (HDFS) e processamento (MapReduce) entre muitas máquinas; plataformas de streaming (Kafka, Flink) tratam fluxos contínuos de eventos.
Regra
Data lake × data warehouse
| Data lake | Data warehouse | |
|---|---|---|
| Dados | brutos, no formato original, de várias fontes | tratados, estruturados, refinados |
| Tipos | estruturados, semiestruturados e não estruturados | principalmente estruturados |
| Esquema | na leitura (schema-on-read) — não precisa de esquema prévio | na escrita (schema-on-write) |
| Processo típico | ELT (carrega e transforma no destino) | ETL (transforma antes de carregar) |
Hadoop
- HDFS: arquitetura mestre/escravo, escrita em Java. NameNode (mestre) guarda metadados e coordena o acesso; DataNodes guardam os dados (blocos) e atendem leituras/gravações.
- MapReduce: divide o processamento entre várias máquinas (map → agrupa/reduz). A saída normalmente é menor que a entrada (agregação).
- HBase: banco NoSQL sobre o HDFS; tabelas divididas em regiões que se dividem e redistribuem automaticamente conforme crescem.
Streaming (Kafka)
- Producer publica (escreve) eventos em tópicos; consumer assina (lê).
- Broker: servidor do cluster que armazena e replica partições; cada broker hospeda várias partições.
- Kafka armazena os eventos de forma durável (retenção configurável) — não é só repasse.
- Ingestão em streaming: coleta contínua, em tempo (quase) real, evento a evento. Não confundir com a carga incremental (só os dados novos/alterados desde a última execução), que é uma forma de ingestão em lote.
- Arquiteturas: Lambda (lote + fluxo, três camadas: batch, speed, serving) e Kappa (só fluxo, simplifica a Lambda).
Aprofundamento
- Dados estruturados: esquema fixo, tabelas com linhas e colunas (bancos relacionais, SQL). Semiestruturados: tags/chaves sem esquema rígido (JSON, XML, logs). Não estruturados: textos livres, imagens, áudio, vídeo.
- Banco relacional: tabelas ligadas por chave primária (identifica cada registro, única e não nula) e chave estrangeira (referencia a primária de outra tabela); garante propriedades ACID (atomicidade, consistência, isolamento, durabilidade).
- SQL básico: SELECT (consultar), INSERT (inserir), UPDATE (alterar), DELETE (excluir); JOIN combina tabelas; WHERE filtra.
- NoSQL: escalabilidade horizontal e esquemas flexíveis (MongoDB — documentos; Redis — chave-valor; Cassandra — colunar; Neo4j — grafos).
- Metadados: dados sobre os dados (autor, data, formato). Governança de dados: qualidade, segurança, catálogo e conformidade com a LGPD.
- Pipeline de dados: ingestão → armazenamento → processamento → análise/visualização (dashboards, BI).
Como o Cebraspe cobra
- "Data lake armazena dados refinados em processos anteriores": errado (isso é data warehouse).
- "No ELT a transformação ocorre no destino; no ETL, antes de carregar": certo.
- "O HDFS não pode ser conectado ao sistema de arquivos local": errado.
- "MapReduce mantém na saída a mesma quantidade de dados da entrada": errado.
- "Cada broker hospeda apenas uma partição": errado.
- "Kafka prescinde de armazenamento durável": errado.
- "Kappa oferece lote e fluxo em quatro camadas": errado.
- "Na ingestão streaming os dados são coletados de forma incremental, só os novos": errado (isso é carga incremental em lote).
Revisão rápida
- Data lake = bruto, qualquer formato, esquema na leitura.
- Data warehouse = tratado, estruturado.
- ELT (transforma no destino) × ETL (transforma antes).
- HDFS: NameNode = metadados; DataNodes = dados; Java; mestre/escravo.
- MapReduce distribui o processamento.
- Kafka: producer escreve, consumer lê, broker armazena/replica; armazenamento durável.
Mapa mental: Data lake, Hadoop e streaming de dados
Toque play para percorrer o mapa. Clique num card para ver de perto, no fundo para afastar; arraste para mover e use Ctrl/⌘ + roda do mouse (ou a pinça) para zoom.
Flashcards de Data lake, Hadoop e streaming de dados
Tente lembrar antes de virar o card.
- Revelar resposta
Data lake × data warehouse?
Data lake: dados brutos, de várias fontes, em qualquer formato (estruturado, semi e não estruturado), sem esquema prévio, numa mesma plataforma. Data warehouse: dados refinados/estruturados para análise. "Data lake guarda dados refinados" = errado.
- Revelar resposta
ETL × ELT?
ETL: extrai, transforma e depois carrega no destino. ELT: extrai, carrega e transforma dentro do destino (data warehouse/lake).
- Revelar resposta
HDFS: qual a arquitetura e o papel de NameNode e DataNode?
Mestre/escravo, escrito em Java. NameNode (mestre): guarda os metadados e coordena as solicitações. DataNodes: guardam os dados (blocos). Pode interagir com o sistema de arquivos local.
- Revelar resposta
O que faz o MapReduce?
Distribui o processamento de grandes volumes entre várias máquinas que leem e gravam em paralelo no sistema distribuído. Map processa partes; Reduce agrega — a saída normalmente é menor que a entrada.
- Revelar resposta
HBase: como as tabelas são distribuídas no cluster?
Em regiões (faixas de linhas), que se dividem e redistribuem automaticamente entre os servidores à medida que crescem.
- Revelar resposta
Kafka: producer, consumer, broker e armazenamento?
Producer publica (escreve) em tópicos; consumer assina (lê). Broker: servidor que armazena e replica partições — cada um hospeda várias. Kafka armazena eventos de forma durável (retenção configurável).
- Revelar resposta
Ingestão de dados: o que é, lote × streaming, e o que é a arquitetura Kappa?
Ingestão: importar/processar dados de várias fontes para uso ou armazenamento (desafios: escala, tempo, confiabilidade, segurança). Streaming: contínua, tempo real; incremental (só novos) é modalidade de lote. Kappa: só processamento de fluxo (a Lambda é que combina lote + fluxo).