HBase
 sql >> Base de Dados >  >> NoSQL >> HBase

O que é o par de valores-chave MapReduce no Hadoop?


Neste tutorial do Hadoop , forneceremos uma introdução completa ao MapReduce Key Value Pair.

Em primeiro lugar, discutiremos o que é um par de valores-chave no Hadoop, como o par de valores-chave é gerado no MapReduce. Por fim, explicaremos a geração de pares de valores de chave MapReduce com exemplos.


O que é o par de valores-chave no Hadoop?


O par chave-valor no MapReduce é a entidade de registro que o Hadoop MapReduce aceita para execução.

Usamos o Hadoop principalmente para análise de dados. Ele lida com dados estruturados, não estruturados e semiestruturados. Com o Hadoop, se o esquema for estático, podemos trabalhar diretamente na coluna em vez do valor da chave. Mas, se o esquema não for estático, trabalharemos em um valor de chave.

O valor das chaves não são as propriedades intrínsecas dos dados. Mas eles são escolhidos pelo usuário que analisa os dados.

MapReduce é o componente central do Hadoop, que fornece processamento de dados. Ele executa o processamento dividindo o trabalho em duas fases:Fase de mapa e Reduzir fase . Cada fase tem valor-chave como entrada e saída.

Geração de par de valores de chave MapReduce no Hadoop


Na execução do trabalho MapReduce, antes de enviar dados para o mapeador , primeiro converta-o em pares de valores-chave. Porque mapeador apenas pares de dados de valor-chave.

O par chave-valor no MapReduce é gerado da seguinte forma:

Divisão de entrada –  É a representação lógica dos dados que InputFormat gera. No programa MapReduce descreve uma unidade de trabalho que contém uma única tarefa de mapa.

Leitor de registros –  Ele se comunica com o InputSplit. Depois disso, ele converte os dados em pares de valores-chave adequados para leitura pelo Mapeador. RecordReader por padrão usa TextInputFormat para converter dados em pares de chave-valor.

Na execução do trabalho MapReduce, a função map processa um determinado par chave-valor. Em seguida, emite um certo número de pares de valores-chave. A função Reduzir processa os valores agrupados pela mesma chave.

Em seguida, emite outro conjunto de pares chave-valor como saída. Os tipos de saída do Mapa devem corresponder aos tipos de entrada do Reduzir, conforme mostrado abaixo:
  • Mapa: (K1, V1) -> lista (K2, V2)
  • Reduzir: {(K2, lista (V2}) -> lista (K3, V3)

Com base em que um par de valores-chave é gerado no Hadoop?


MapReduce A geração do par chave-valor depende totalmente do conjunto de dados. Também depende da saída necessária. O framework especifica o par chave-valor em 4 lugares:Mapear entrada/saída, Reduzir entrada/saída.

1. Entrada do mapa


Map Input por padrão usa o deslocamento de linha como chave. O conteúdo da linha é valor como Texto. Podemos modificá-los; usando o formato de entrada personalizado.

2. Saída do mapa


O Mapa é responsável por filtrar os dados. Ele também fornece o ambiente para agrupar os dados com base na chave.
  • Chave– É o campo/texto/objeto no qual os dados são agrupados e agregados no redutor .
  • Valor– É o campo/texto/objeto que cada indivíduo reduz os handles do método.

3. Reduza a entrada


A saída do mapa é entrada para reduzir. Portanto, é o mesmo que Map-Output.

4. Reduza a saída


Depende totalmente da saída necessária.

Exemplo de par de valores-chave MapReduce


Por exemplo, o conteúdo do arquivo que HDFS lojas são Chandler é Joey Mark é John . Então, agora usando InputFormat, vamos definir como esse arquivo será dividido e lido. Por padrão, RecordReader usa TextInputFormat para converter esse arquivo em um par chave-valor.
  • Chave –  É o deslocamento do início da linha dentro do arquivo.
  • Valor –   É o conteúdo da linha, excluindo os terminadores de linha.

Aqui,Chave é 0 e Valor é Chandler é Joey Mark é John.

Conclusão


Em conclusão, podemos dizer que, valor-chave é apenas uma entidade de registro que MapReduce aceita para execução. InputSplit e RecordReader geram o par chave-valor. Portanto, a chave é o deslocamento de byte e o valor é o conteúdo da linha.

Espero que tenha gostado deste blog. Se você tiver alguma sugestão ou consulta relacionada ao par de valores-chave MapReduce, deixe um comentário em uma seção abaixo.