Questão de Sistemas Operacionais — Clusters — FGV 2023
Sistemas Operacionais›Clusters
Código
fg069609
Banca
FGV
Órgão
SEFAZ-MG
Ano
2023
Nível
Superior
Cargo
Auditor Fiscal da Receita Estadual - Tecnologia da Informação (Tarde)
O Apache Spark é um framework para processamento paralelo e oferece suporte ao processamento na memória para aumentar o desempenho de aplicações de big data.
Em relação aos RDDs e a suas operações, assinale a afirmativa incorreta.
AOs RDDs suportam dois tipos de operações: transformações, que criam um novo conjunto de dados a partir de um existente, e ações, que retornam um valor ao Driver Program após executar uma computação no conjunto de dados.
BMap é uma transformação que passa cada elemento do conjunto de dados por uma função e retorna um novo RDD representando os resultados.
CReduce é uma ação que agrega todos os elementos do RDD usando alguma função e retorna o resultado final ao Driver Program.
DTodas as transformações no Spark são lazy, pois não calculam seus resultados imediatamente. Em vez disso, eles apenas lembram as transformações aplicadas a algum conjunto de dados.
EAs transformações só são computadas quando uma ação ou determinadas transformações exigem que um resultado seja retornado Driver Program.
Revelar gabarito e comentário▾
GabaritoE — As transformações só são computadas quando uma ação ou determinadas transformações exigem que um resultado seja retornado Driver Program.
Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.
Apache Spark – RDDs e Operações
Gabarito: alternativa E (afirmativa incorreta). O Spark é um framework de processamento paralelo que utiliza RDDs (Resilient Distributed Datasets) com duas categorias de operações: transformações (lazy) e ações (que disparam a computação). A alternativa E erra ao afirmar que transformações também podem disparar a computação; na verdade, apenas as ações – como count(), collect(), reduce() – forçam a execução do grafo lógico de transformações.
Análise das alternativas
Operação
Tipo
Comportamento
Dispara computação?
map
Transformação
Cria novo RDD aplicando função a cada elemento
Não (lazy)
reduce
Ação
Agrega todos os elementos e retorna valor ao Driver
Sim
Qualquer transformação
Transformação
Constrói DAG de dependências
Não (lazy)
Qualquer ação
Ação
Executa o grafo lógico de transformações
Sim
Operações em RDDs (Spark)
1Transformações (lazy)
Map, filter, flatMap
groupByKey, reduceByKey
Nunca disparam computação
2Ações (disparam execução)
count, collect, reduce
saveAsTextFile, take
Retornam ao Driver
LEVEL · soulevel.com.br
Alternativa A — ✅ Correta
Define corretamente os dois tipos de operações em RDDs: transformações geram novos RDDs a partir de existentes, e ações retornam valores ao Driver Program após processamento.
Alternativa B — ✅ Correta
map é uma transformação clássica: aplica uma função a cada elemento do RDD de origem e produz um novo RDD com os resultados.
Alternativa C — ✅ Correta
reduce é uma ação que agrega todos os elementos do RDD usando uma função comutativa/associativa e retorna um único valor ao Driver.
Alternativa D — ✅ Correta
Todas as transformações no Spark são lazy – não executam imediatamente; apenas constroem um DAG (grafo acíclico dirigido) de dependências. O resultado só é materializado quando uma ação é chamada.
Alternativa E — ❌ Incorreta ⟵ GABARITO
Afirma que as transformações são computadas quando uma ação ou determinadas transformações exigem resultado. Isso é falso: somente ações disparam a computação. Transformações nunca disparam a execução por si mesmas, independentemente de seu tipo. A palavra "determinadas transformações" é o erro – o aluno pode confundir com transformações que exigem shuffle (como groupByKey), mas mesmo essas só executam quando uma ação é invocada.
NÃO CAIA NESSA!
A banca insere "ou determinadas transformações" para confundir o candidato sobre o que dispara a computação no Spark. Lembre-se: transformações são sempre lazy; somente ações (como count, collect, saveAsTextFile) forçam a execução do DAG.