Como usar o hadoop apache para análise preditiva

Apache Hadoop é uma plataforma de software livre, open-source para escrever e executar aplicações que processam uma grande quantidade de dados para análise preditiva. Ele permite um processamento paralelo e distribuído de grandes conjuntos de dados gerados a partir de diferentes fontes. Essencialmente, é uma poderosa ferramenta para armazenar e processar dados grandes.

Hadoop lojas de qualquer tipo de dados, estruturados ou não estruturados, a partir de diferentes fontes - e então agrega os dados em praticamente qualquer maneira que você quer. Hadoop manipula dados heterogêneos utilizando processamento paralelo distribuído - o que o torna um quadro muito eficiente para usar em software analítico lidar com dados grandes. Não admira que algumas grandes empresas estão adotando Hadoop, incluindo Facebook, Yahoo !, Google, IBM, Twitter e LinkedIn.

Antes Hadoop, as empresas não foram capazes de tirar proveito de big data, que não foi analisado e quase inutilizáveis. O custo para armazenar os dados em um banco de dados relacional de propriedade e criar um formato estruturado em torno dele não justificam os benefícios de analisar os dados e fazer uso dele.

Hadoop, por outro lado, está fazendo isso sem emenda tarefa - em uma fração do custo - permitindo que as empresas para encontrar informações valiosas nos dados abundantes que adquiriram e estão se acumulando.

O poder do Hadoop está em lidar com tipos diferentes - na verdade, qualquer tipo - de dados: texto, voz, e-mails, fotos, mensagens, tweets, you name it. Hadoop cuida de agregar esses dados, em toda a sua variedade, e fornece-lhe a capacidade de consultar todos os dados em sua conveniência.

Você não tem que construir um esquema antes você pode fazer sentido do seu data- Hadoop permite-lhe consultar os dados em seu formato original.

Além de lidar com grandes quantidades de dados variados, Hadoop é tolerante a falhas, utilizando programas simples que lidam com a programação do processamento distribuído por várias máquinas. Estes programas podem detectar falha de hardware e desviar uma tarefa para outra máquina executando. Esse arranjo permite Hadoop para oferecer alta disponibilidade, independentemente de falha de hardware.

Hadoop usa dois componentes principais (subprojetos) para fazer o seu trabalho: MapReduce e Hadoop Distributed File System. Os dois componentes trabalhar cooperativamente:

  • MapReduce: Implementação do MapReduce do Hadoop é baseado em pesquisas do Google sobre modelos de programação para processar grandes conjuntos de dados dividindo-os em pequenos blocos de tarefas. MapReduce utiliza algoritmos distribuídos, em um grupo de computadores de um cluster, para processar grandes conjuntos de dados. Ele consiste de duas funções:

  • o Mapa () função que reside no mestre (Computador em rede). Ele divide a consulta de entrada ou tarefa em subtarefas menores, que, em seguida, distribui para nós trabalhadores que processar as tarefas menores e passar as respostas de volta para o nó mestre. As subtarefas são executados em paralelo em vários computadores.

  • o Reduzir ( ) função recolhe os resultados de todas as subtarefas e combina-los para produzir um resultado final agregada - o que ele retorna como a resposta para a consulta grande originais.

  • Sistema Hadoop Distributed File (HDFS): HDFS replica os blocos de dados que residem em outros computadores em seu centro de dados (para garantir a confiabilidade) e gere a transferência de dados para as várias partes do seu sistema distribuído.

  • Considere um banco de dados de dois bilhões de pessoas, e supor que você quer calcular o número de amigos sociais de Mr. X e organizá-los de acordo com suas localizações geográficas. Isso é uma ordem de altura.

    Os dados para dois bilhões de pessoas podem ter origem em amplamente diferentes fontes, como redes sociais, e-mail listas de endereços de contatos, posts, tweets, histórias de navegação - e isso é só para começar. Hadoop pode agregar essa massa enorme, diversificado de dados para que você possa investigá-lo com uma consulta simples.

    Você usaria recursos de programação MapReduce para resolver esta consulta. Definindo Mapa e reduzir os procedimentos faz mesmo este grande conjunto de dados gerenciável. Usando as ferramentas que o quadro Hadoop oferece, você criaria uma implementação de MapReduce que faria a computação como duas subtarefas:



    • Calcule o número médio de amigos sociais do Sr. X.

    • Organizar amigos do Sr. X por localização geográfica.

      Video: Aula 1 - Big data e Hadoop - Módulo I

    O seu programa de implementação MapReduce iria executar esses subtasks em paralelo, gerenciar a comunicação entre as subtarefas, e montar os resultados. Fora de dois bilhões de pessoas, você saberia que os amigos on-line do Sr. X são.

    Hadoop oferece uma gama de Mapa Processadores- qual (is) você selecionar dependerá de sua infra-estrutura.

    Cada um dos seus processadores vai lidar com um certo número de registros. Suponha que cada processador lida com um milhão de registros de dados. Cada processador executa um procedimento Mapa que produz vários registros de pares chave-valor onde G (Key) é a localização geográfica de uma pessoa (país) e N (Valor) é o número de contactos a pessoa tem.

    Suponha que cada processador Mapa produz muitos pares da forma , tal como o seguinte:

    Processador Mapa # 1:

    Processador Mapa # 2:

    Processador Mapa # 3:

    Video: Popular Apache Software Foundation & Apache Hadoop videos

    Processador Mapa # 4:

    Processador Mapa # 5:

    Processador Mapa # 6:

    Na fase Reduzir, Hadoop atribui uma tarefa para um certo número de processadores de: executar o procedimento Reduzir que agrega os valores das mesmas teclas para produzir um resultado final. Para este exemplo a implementação Reduzir resume a contagem de valores para cada chave - localização geográfica. Assim, após a fase de Mapa, o Reduza fase produz o seguinte:

     ------ ---- 

    Claramente, o Sr. X é um cara popular - mas este foi um exemplo muito simples de como MapReduce pode ser usado. Imagine que você está lidando com um grande conjunto de dados onde você deseja executar operações complexas, tais como agrupamento bilhões de documentos onde a operação e os dados é muito grande para uma única máquina de manusear. Hadoop é a ferramenta a considerar.


    Publicações relacionadas