Questão nº 82
Questão de Engenharia de Dados · FCC PMSP Analista TIC 2025 (nº 82)
Considere as características técnicas das ferramentas Flink e Spark Streaming, submetidas ao consumo de um mesmo stream of data do Kafka, em condições ideais.
I. Processa dados em true real-time, lidando com cada evento assim que ele chega.
II. O modo de micro-batch introduz um pequeno delay (latência) entre a ingestão e o processamento dos dados devido à coleta em lote.
III. Mostra um fluxo mais contínuo de resultados, especialmente se nenhum windowing ou batching estiver envolvido.
IV. Mais adequado para pipelines de ETL e análises de logs, nos quais a latência dos micro-batches é aceitável.
V. O modelo de processamento de fluxo real garante semântica exactly-once para o processamento de eventos, o que é essencial para aplicações críticas.
As características estão corretamente atribuídas às ferramentas em:
- AFlink: II e IV. Spark: I, III e V.
- BFlink: I, III e IV. Spark: II e V.
- CFlink: II e V. Spark: I, III e IV.
- DFlink: I, III e V. Spark: II e IV. (alternativa correta)
- EFlink: I e IV. Spark: II, III e V.
Resposta comentada
Gabarito Alternativa D
Flink e Spark Streaming são tecnologias para processar dados em fluxo, que são informações que chegam continuamente, como mensagens de um chat ou leituras de sensores. A principal diferença é que o Flink processa cada evento individualmente em tempo real, enquanto o Spark Streaming agrupa eventos em pequenos lotes (chamados micro-batches) para processamento.
(A) Incorreta: Atribui características de micro-batch (II, IV) ao Flink e características de tempo real (I, III, V) ao Spark, o que é o oposto da realidade.
(B) Incorreta: Mistura as características, atribuindo processamento em tempo real (I, III) e adequação para ETL (IV) ao Flink, e semântica exactly-once (V) ao Spark, o que não reflete as principais distinções.
(C) Incorreta: Atribui micro-batch (II) e semântica exactly-once (V) ao Flink, e tempo real (I, III) ao Spark, invertendo as características fundamentais.
(D) Correta: Esta alternativa atribui corretamente as características:
- Flink (I, III, V):
- I. Processa dados em true real-time, lidando com cada evento assim que ele chega. Flink é um processador de fluxo nativo, processando eventos individualmente com latência mínima.
- III. Mostra um fluxo mais contínuo de resultados, especialmente se nenhum windowing ou batching estiver envolvido. Devido ao processamento evento a evento, os resultados do Flink são contínuos.
- V. O modelo de processamento de fluxo real garante semântica exactly-once para o processamento de eventos, o que é essencial para aplicações críticas. O Flink foi projetado para garantir que cada evento seja processado exatamente uma vez, mesmo em caso de falhas, o que é crucial para dados financeiros ou de missão crítica.
- Spark Streaming (II, IV):
- II. O modo de micro-batch introduz um pequeno delay (latência) entre a ingestão e o processamento dos dados devido à coleta em lote. Spark Streaming opera agrupando dados em pequenos lotes (micro-batches) antes de processá-los, o que naturalmente adiciona uma pequena latência.
- IV. Mais adequado para pipelines de ETL e análises de logs, nos quais a latência dos micro-batches é aceitável. Para casos de uso onde alguns segundos de latência não são críticos, como ETL ou análise de logs, o modelo de micro-batch do Spark Streaming é perfeitamente adequado e eficiente. A armadilha aqui é que, embora Flink também possa fazer isso, a característica específica de "latência dos micro-batches é aceitável" aponta diretamente para o Spark Streaming.
(E) Incorreta: Atribui tempo real (I) e adequação para ETL (IV) ao Flink, e as demais ao Spark, o que não corresponde às distinções principais.
Fonte: FCC PMSP Analista TIC 2025 Analista de Planejamento e Desenvolvimento Organizacional - Tecnologia da Informação e Comunicação (Caderno Tipo 001). Reproduzida para fins de estudo.