Como usar mapreduce para big data

MapReduce é uma estrutura de software que é ideal para grandes dados, pois permite que os desenvolvedores escrevam programas que podem processar grandes quantidades de dados não estruturados em paralelo através de um grupo distribuído de processadores.

A função de mapa para big data

o mapa função tem sido uma parte de muitas linguagens de programação funcional por anos. Mapa foi revigorado como uma tecnologia de núcleo para listas de processamento de elementos de dados.

Operadores em linguagens funcionais não modifique a estrutura da data- eles criam novas estruturas de dados como sua saída. Os dados originais em si não foi modificado também. Então você pode usar a função de mapa impunemente, porque não vai prejudicar os seus preciosos dados armazenados.

Outra vantagem para a programação funcional é não ter de gerir expressamente o movimento ou fluxo dos dados. Este absolve o programador de gestão explicitamente a saída de dados e colocação. Finalmente, a ordem das operações nos dados não é prescrita.

Uma maneira de conseguir a solução é identificar os dados de entrada e criar uma lista:

mylist = ("todos os municípios em que os EUA participaram na mais recente eleição geral")

Criar a função quantas pessoas utilizando a função de mapa. Isso seleciona apenas os municípios com mais de 50.000 pessoas:

howManyPeople mapa (myList) = [howManyPeople "county 1"- quantas pessoas "condado 2"- quantas pessoas "condado 3"- quantas pessoas "condado 4"-. . . ]

Agora produzir uma nova lista de saída de todos os municípios com população superior a 50.000:

(Nenhuma, condado 1- sim, condado 2- não, condado 3- sim, condado 4-?, Condado nnn)

A função executa sem fazer quaisquer alterações à lista original. Além disso, você pode ver que cada elemento da lista de saída mapeia para um elemento correspondente da lista de entrada, com um sim ou não em anexo. Se o município atendeu ao requisito de mais de 50.000 pessoas, a função mapa identifica-lo com um sim. Se não, um não é indicado.

Video: Curso de Big Data - Aula 1 - O que é Big Data?

Adicionar a função de reduzir para big data

Como a função de mapa, reduzir tem sido uma característica das linguagens de programação funcional por muitos anos. A função de reduzir leva a saída de uma função de mapa e “reduz” a lista em quaisquer forma os desejos programador.

O primeiro passo que a função de reduzir requer é colocar um valor em uma coisa chamada acumulador, que mantém um valor inicial. Depois de armazenar um valor inicial no acumulador, a reduzir a função, em seguida, processa cada elemento da lista e executa a operação de que necessita através da lista.

No final da lista, a função de reduzir retorna um valor com base no que a operação que queria realizar na lista de saída.

Suponha que você precisa identificar os municípios onde a maioria dos votos foram para o candidato democrata. Lembre-se que o seu quantas pessoas função de mapa olhou para cada elemento da lista de entrada e criou uma lista dos municípios de saída com mais de 50.000 pessoas (sim) E os municípios com menos de 50.000 pessoas (não).

Depois de invocar o quantas pessoas função de mapa, você é deixado com a lista de saída seguintes:



(Nenhuma, condado 1- sim, condado 2- não, condado 3- sim, condado 4-?, Condado nnn)

Esta é agora a entrada para a função de reduzir. Aqui está o que parece:

Video: Qué es Big Data y cómo usarlo en tu negocio

countylist = (sem, condado 1- sim, condado 2- não, condado 3- sim, condado 4-?, nnn condado) reduzir isDemocrat (countylist)

A função reduzir os processos de cada elemento da lista e devolve a lista de todos os municípios com uma população superior a 50.000, onde a maioria considerados Democrática.

Colocar o mapa big data e reduzir juntos

Às vezes, produzindo uma lista de saída é apenas o suficiente. Da mesma forma, por vezes, a execução de operações em cada elemento de uma lista é suficiente. Na maioria das vezes, você quer olhar através de grandes quantidades de dados de entrada, selecionar certos elementos a partir dos dados, e depois calcular algo de valor a partir dos pedaços relevantes de dados.

Você não quer mudar essa lista de entrada para que você possa usá-lo de maneiras diferentes com novas hipóteses e novos dados.

Software desenvolvedores de aplicativos de design baseados em algoritmos. A algoritmo nada mais é que uma série de passos que precisam ocorrer em serviço a um objectivo global. Pode parecer um pouco como este:

  1. Comece com um grande número ou dados ou registros.

  2. Iterar sobre os dados.

  3. Use a função de mapa para extrair algo de interesse e criar uma lista de saída.

  4. Organizar a lista de saída para optimizar para processamento adicional.

    Video: Hadoop : XML Parsing with MapReduce | MapReduce Tutorial | Big Data Tutorial For Beginners | Edureka

  5. Use a função de reduzir para calcular um conjunto de resultados.

  6. Produzir o produto final.

    Video: Introducción al Big Data Open Source: Map reduce, Hive, Pentaho..

Os programadores podem implementar todos os tipos de aplicações usando esta abordagem, mas os exemplos a este ponto ter sido muito simples, de modo que o valor real do MapReduce pode não ser aparente. O que acontece quando você tem dados de entrada extremamente grandes? você pode usar o mesmo algoritmo em terabytes de dados? A boa notícia é sim.

Todas as operações parecem independente. Isso é porque eles são. O verdadeiro poder do MapReduce é a capacidade de dividir e conquistar. Tome um problema muito grande e quebrá-lo em pedaços menores e mais gerenciáveis, operar em cada bloco de forma independente, e depois puxá-lo todos juntos no final. Além disso, a função de mapa é comutativa - em outras palavras, a fim de que a função é executada não importa.

Então MapReduce pode executar seu trabalho em diferentes máquinas em uma rede. É também possível desenhar a partir de múltiplas fontes de dados internos ou externos. MapReduce mantém o controle de seu trabalho através da criação de uma chave única para garantir que todo o processamento está relacionado para a resolução do mesmo problema. Esta chave também é usado para puxar toda a saída juntos no final de todas as tarefas distribuídas.


Publicações relacionadas