O paradigma de programação mapreduce

Video: What is MapReduce?

MapReduce é um paradigma de programação que foi concebida para permitir o processamento distribuído em paralelo de grandes conjuntos de dados, convertendo-as em conjuntos de tuplos, e, em seguida, a combinação e reduzir esses tuplos em conjuntos mais pequenos de tuplos. Em termos leigos, MapReduce foi projetado para tirar dados grandes e usar computação distribuída paralela para ligar grandes dados em dados pouco- ou de tamanho normal.

processamento distribuído em paralelo refere-se a uma poderosa estrutura onde os volumes em massa de dados são processados ​​muito rapidamente através da distribuição de tarefas de processamento através de clusters de servidores de commodities. Com relação à MapReduce, tuplas referem-se a pares chave-valor pelo qual os dados são agrupados, classificadas e processadas.

trabalhos MapReduce funciona via mapa e reduzir as sequências operacionais do processo através de um conjunto distribuído de servidores. No tarefa mapa, você delegar os seus dados para pares chave-valor, transformá-lo e filtrá-la. Então você atribuir os dados a nós para processamento.

Video: 13.66 MapReduce, Semantik von map() und reduce()

No reduzir a tarefa, você agregar esses dados para baixo para conjuntos de dados de menor porte. Os dados a partir do passo de reduzir é transformado num padrão formato de valores-chave - onde o chave atua como o identificador de registro ea valor é o valor que está sendo identificado pela chave. nós de computação os clusters’ processar o mapa e reduzir as tarefas que são definidos pelo usuário. Este trabalho é feito de acordo com as duas etapas a seguir:

  1. Mapear os dados.

    Os dados de entrada devem primeiro ser delegada em pares chave-valor e dividida em fragmentos, que são então atribuídos para mapear tarefas. Cada cluster de computação - um grupo de nós que estão ligados uns aos outros e executar uma tarefa de computação compartilhada - é atribuído um número de tarefas mapa, que são posteriormente distribuídos entre seus nós.



    Após a transformação dos pares de valores chave, pares de valores chave intermédios são gerados. Os pares chave-valor intermediários são classificadas por seus valores fundamentais, e esta lista é dividida em um novo conjunto de fragmentos. Seja qual for a contagem que você tem para estes novos fragmentos, será o mesmo que a contagem das tarefas reduzir.

  2. Reduzir os dados.

    Cada reduzir tarefa tem um fragmento atribuído a ele. A tarefa de reduzir simplesmente processa o fragmento e produz uma saída, a qual é também um par de chaves-valor. tarefas reduzem também são distribuídos entre os diferentes nós do cluster. Depois que a tarefa é concluída, o resultado final é escrito em um sistema de arquivos.

Video: Combiners - Intro to Hadoop and MapReduce

Em suma, você pode rapidamente e eficientemente resumem-se e começam a fazer sentido de um grande volume, velocidade e variedade de dados usando mapa e reduzir as tarefas para marcar seus dados (chave, valor) pares, e depois reduzir os pares em pequenos conjuntos de dados através operações de agregação - operações que combinam vários valores de um conjunto de dados em um único valor. Um diagrama da arquitetura MapReduce pode ser encontrada aqui.

Video: Cluster Computing and MapReduce Lecture 4

Se os dados não se presta a ser marcado e processado através de chaves, valores e agregação, em seguida, mapear e reduzir geralmente não é um bom ajuste para suas necessidades.

Se você estiver usando MapReduce como parte de uma solução de Hadoop, então o resultado final é escrito para o Hadoop Distributed File System (HDFS). HDFS é um sistema de arquivo que inclui clusters de servidores de commodities que são usados ​​para armazenar dados grandes. HDFS faz manipulação de dados grande e armazenamento financeiramente viável através da distribuição de tarefas de armazenamento em clusters de servidores de commodities baratas.


Publicações relacionadas