FC ConcursosFC Concursos

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.

  1. A primeira linha define um RDD a partir de um arquivo externo; este conjunto de dados não é carregado na memória.
  2. A variável linhas não é apenas um ponteiro para o arquivo.
  3. A segunda linha define linhasComprimento como resultado de uma transformação map.
  4. A variável linhasComprimento não é calculada imediatamente, devido à propriedade lazy.
  5. 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

Continue aprendendo