Class: JobConf

.mapreduce. JobConf


new JobConf(entry, map, reduce, cluster [, opt_options])

Configuração de uma operação MapReduce.
Importante: as funções map e reduce são convertidas em strings e recriadas nos nós responsáveis pela execução delas. Por causa desse comportamento, não é permitido o uso de funções nativas e não deve existir dependência com variáveis e funções que não tenham sido importadas por meio da opção opt_options.includes>.

Parameters:
Name Type Argument Description
entry Array.<*>

Valores que serão processados pelo MapReduce.

map function

Função de mapeamento. Esta função será chamada para cada valor contido em split através deste Job. Esta função deve definir chaves e valores através do método emit, disponível em seu contexto. Este método recebe como primeiro parâmetro uma string que representará a chave e no segundo parâmetro o valor que fará parte do conjunto de valores relacionados à chave definida no primeiro parâmetro. A função emit pode ser chamada mais de uma vez dentro de um map. Exemplo:
function (value) {
if (value % 2 === 0) {
this.emit('pares', value);
} else {
this.emit('impares', value);
this.emit('imparesDobrados', value * 2);
}
}

reduce function

Função de redução. Recebe dois parâmetros. Uma chave e um vetor de valores associados a ela.

cluster Array.<Object>

Engines que participarão do processamento.

opt_options Object | Object <optional>

Opções da operação de mapreduce:

  • includes: endereços ou chaves das bibliotecas que são utilizadas pelas funções map ou reduce e devem ser incluídas antes da execução dessas funções.
  • splitFunction: função utilizada para quebrar entry em blocos menores. Esses blocos menores serão distribuídos para os nós. Durante a execução dessa função, this será esta instância de JobConf, o primeiro argumento será entry e o retorno da função deve ser array com as partes de entry.
  • splitSize: quebra entry em blocos do tamanho informado. Opção ignorada quando é informado splitFunction.
    Se splitFunction e splitSize não forem informados, entry será quebrado pela quantidade máxima de threads do cluster.
See:
  • uwl.engine.ClusterNodeDef

Members


cluster :Array.<Object>

Engines que participarão do processamento.

Type:
  • Array.<Object>
See:
  • uwl.engine.ClusterNodeDef

entry :Array

Valores que serão processados pelo MapReduce.

Type:
  • Array

includes :Array.<string>

Bibliotecas que devem ser inclusas na execução do deste mapreduce.

Type:
  • Array.<string>

map :function

Função de mapeamento. Esta função será chamada para cada valor contido em split através deste Job. Esta função deve definir chaves e valores através do método emit, disponível em seu contexto. Este método recebe como primeiro parâmetro uma string que representará a chave e no segundo parâmetro o valor que fará parte do conjunto de valores relacionados à chave definida no primeiro parâmetro. A função emit pode ser chamada mais de uma vez dentro de um map. Exemplo:
var map = function (value) {
if (value % 2 === 0) {
this.emit('pares', value);
} else {
this.emit('impares', value);
this.emit('imparesDobrados', value * 2);
}
}

Type:
  • function

reduce :function

Função de redução. Recebe dois parâmetros. Uma chave e um vetor de valores associados a ela.

Type:
  • function

splits :Array.<Array>

Blocos de dados que serão distribuídos para os nós.

Type:
  • Array.<Array>