FC ConcursosFC Concursos

Questão FC296028

Qual é esse modelo?

Bancos de Dados Dimensionais

CESGRANRIO · 2018

Um modelo teórico do MapReduce pode ser resumido em duas funções, map e reduce. Essas funções são representadas na literatura, genericamente, com uma notação na forma:

 

Entrada genérica -> Saída genérica

 

A proposta original de MapReduce considerava que a função reduce teria o modelo:

 

reduce(k2,list(v2)) -> list(v3)

 

Enquanto implementações de terceiros usam o modelo:

 

reduce(k2,list(v2)) -> list(k3,v3)

 

O modelo para a função map, porém, é sempre o mesmo.

 

Qual é esse modelo?

  1. map(v1) -> list(k2,v2)
  2. map(v1) -> k2,list(v2)
  3. map(k1,v1) -> k2,list(v2)
  4. map(k1,v1) -> k2,v2
  5. map(k1,v1) -> list(k2,v2)
Mostrar resposta e comentário

Gabarito

Errado

Comentário do professor

map é definida pela assinatura \(map(K1,V1)\rightarrow list(K2,V2)\). Isso significa que a função recebe um único par de entrada e pode emitir uma lista (zero ou mais) de pares intermediários, cada um com chave \(K2\) e valor \(V2\).

Na prática, o map faz a transformação e a distribuição dos dados: processa o conteúdo de \(K1,V1\), aplica lógica local e gera vários \(K2,V2\) que serão agregados posteriormente.

Os tipos de \(K1,V1\) costumam ser diferentes de \(K2,V2\); essa separação permite adaptar entradas variadas a uma chave intermediária usada para agrupamento e particionamento (shuffle) antes do passo de reduce.

Ex.: em contagem de palavras, \(map(docId, texto)\rightarrow list(palavra,1)\).

Conteúdo do catálogo FC Concursos · Atualizado em

Continue aprendendo