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?
- map(v1) -> list(k2,v2)
- map(v1) -> k2,list(v2)
- map(k1,v1) -> k2,list(v2)
- map(k1,v1) -> k2,v2
- 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