Questão FC331107
1. linhas = sc.textFile("dados.txt") 2. linhasComprimento = linhas.map(lambda s: len(s)) 3. totalComprimento = linhasComprimento.reduce(lambda a, b: a + b) Em relação ao código pys
Bancos de Dados Dimensionais
FGV · 2023
1. linhas = sc.textFile("dados.txt")
2. linhasComprimento = linhas.map(lambda s: len(s))
3. totalComprimento = linhasComprimento.reduce(lambda a, b: a + b)
Em relação ao código pyspark acima, assinale a afirmativa incorreta.
- A primeira linha define um RDD a partir de um arquivo externo; este conjunto de dados não é carregado na memória.
- A variável linhas não é apenas um ponteiro para o arquivo.
- A segunda linha define linhasComprimento como resultado de uma transformação map.
- A variável linhasComprimento não é calculada imediatamente, devido à propriedade lazy.
- A terceira linha executa o reduce, que é uma ação.
Mostrar resposta e comentário
Gabarito
B
Comentário do professor
Erro da afirmação: dizer que linhas "não é apenas um ponteiro" está incorreto. A chamada sc.textFile() cria um RDD que representa a referência ao conjunto de dados externo, mas não carrega imediatamente seu conteúdo.
Em Spark há avaliação por preguiça (lazy): transformações como map apenas constroem o plano de execução (linhagem) do RDD; o dado só é lido quando uma ação (ex.: reduce) é invocada.
Portanto, a variável linhas contém metadados e informações de particionamento do RDD — um ponteiro/descritor do dataset — e não os dados concretos em memória até a execução da ação.
Conteúdo do catálogo FC Concursos · Atualizado em