Comment utiliser Apache Hadoop pour l'analyse prédictive

Hadoop est une plate-forme de logiciel libre, open-source pour l'écriture et l'exécution d'applications qui traitent une grande quantité de données pour l'analyse prédictive. Il permet un traitement parallèle distribué de grands ensembles de données provenant de différentes sources. Essentiellement, il est un outil puissant pour stocker et traiter les données de grandes.

Hadoop magasins tout type de données, structurées ou non structurées, de différentes sources - et puis agrégats que les données dans presque toute façon que vous voulez. Hadoop gère les données hétérogènes en utilisant le traitement parallèle distribué - ce qui en fait un cadre très efficace à utiliser dans le logiciel analytique traitant de gros volumes de données. Pas étonnant que certaines grandes entreprises adoptent Hadoop, y compris Facebook, Yahoo !, Google, IBM, Twitter et LinkedIn.

Avant de Hadoop, les entreprises ont été incapables de profiter de grands volumes de données, ce qui n'a pas été analysé et presque inutilisables. Le coût pour stocker ces données dans une base de données relationnelle propriétaire et créer un format structuré autour d'elle ne justifie pas les avantages de l'analyse de ces données et en faire usage.

Hadoop, d'autre part, fait cette tâche pattern - à une fraction du coût - permettant aux entreprises de trouver des indications précieuses dans les données abondante qu'ils ont acquis et sont accumuler.

La puissance de Hadoop réside dans la manipulation de différents types - en fait, tout type - des données: texte, la parole, e-mails, photos, messages, tweets, you name it. Hadoop prend soin de l'agrégation de ces données, dans toute sa diversité, et vous offre la possibilité d'interroger toutes les données à votre convenance.

Vous ne disposez pas de construire un schéma avant que vous pouvez faire de votre sens de données Hadoop vous permet d'interroger les données dans son format original.

En plus de traiter de grandes quantités de données variées, Hadoop est tolérant aux pannes, en utilisant des programmes simples qui gèrent la planification du traitement réparti entre plusieurs ordinateurs. Ces programmes peuvent détecter une défaillance matérielle et de détourner une tâche à une autre machine en marche. Cette disposition permet d'Hadoop pour offrir une haute disponibilité, indépendamment de défaillance matérielle.

Hadoop utilise deux composants principaux (sous-projets) pour faire son travail: MapReduce et système de fichiers Hadoop Distributed. Les deux composants travaillent en coopération:




  • MapReduce: La mise en œuvre de Hadoop MapReduce d'est basée sur la recherche de Google sur des modèles de programmation pour traiter les grands ensembles de données en les divisant en petits blocs de tâches. MapReduce utilise des algorithmes distribués, sur un groupe d'ordinateurs dans un cluster, pour traiter les grands ensembles de données. Il se compose de deux fonctions:

  • La Plan () fonction qui réside sur le maître nœud (informatique en réseau). Il divise la requête d'entrée ou de la tâche en plus petits sous-tâches, qu'elle distribue ensuite à nœuds de travailleurs Ce processus les plus petites tâches et de passer les réponses sur le nœud maître. Les sous-tâches sont exécutées en parallèle sur plusieurs ordinateurs.

  • La Réduire () fonction recueille les résultats de toutes les sous-tâches et les combine pour produire un résultat final agrégée - qu'elle renvoie comme la réponse à la grande requête originale.

  • Système Hadoop Distributed File (HDFS): HDFS reproduit les blocs de données qui résident sur d'autres ordinateurs de votre centre de données (pour assurer la fiabilité) et gère le transfert de données vers les différentes parties de votre système distribué.

  • Considérons une base de données de deux milliards de personnes, et supposons que vous voulez calculer le nombre d'amis sociaux de M. X et les organiser en fonction de leurs emplacements géographiques. Voilà un défi de taille.

    Les données pour deux milliards de personnes pourraient provenir de sources très différentes telles que les réseaux sociaux, e-mail de contact listes, messages, tweets, histoires de navigation - et ce est juste pour ouvreurs. Hadoop peut agréger cette énorme masse de données diverses afin que vous puissiez l'étudier avec une simple requête.

    Vous souhaitez utiliser les capacités de programmation MapReduce pour résoudre cette requête. Définir Carte et Réduire les procédures rend même ce grand ensemble de données gérable. En utilisant les outils que le framework Hadoop offre, vous serait créer une implémentation de MapReduce qui ferait le calcul que deux sous-tâches:

    • Calculer le nombre moyen d'amis sociaux de M. X.

    • Disposer les amis de M. X par emplacement géographique.

    Votre programme de mise en œuvre de MapReduce irait à ces sous-tâches en parallèle, gérer la communication entre les sous-tâches, et assembler les résultats. Out de deux milliards de personnes, vous savez qui amis en ligne de M. X sont.

    Hadoop fournit une gamme de Carte processors- celle (s) que vous choisirez dépendra de votre infrastructure.

    Chacune de vos processeurs aura gérer un certain nombre de dossiers. Supposons que chaque processeur gère un million d'enregistrements de données. Chaque processeur exécute une procédure de Plan qui produit plusieurs enregistrements de paires clé-valeur g (clé) est l'emplacement géographique d'une personne (pays) et N (valeur) est le nombre de contacts de la personne a.

    Supposons chaque processeur de la carte produit de nombreuses paires de la forme , tel que ce qui suit:

    Processeur Carte n ° 1:
    Processeur Carte n ° 2:
    Processeur Carte # 3:
    Processeur Carte # 4:
    Processeur Carte # 5:

    Processeur Carte # 6:

    Dans la phase Réduire, Hadoop assigne une tâche à un certain nombre de processeurs: exécuter la procédure Réduire qui agrège les valeurs des mêmes touches pour produire un résultat final. Pour cet exemple, la mise en œuvre Réduire résume le nombre de valeurs pour chaque clé - l'emplacement géographique. Ainsi, après la phase de la carte, la phase produit Réduire les suivantes:

     ------ ---- 

    De toute évidence, M. X est un gars populaire - mais ce fut un exemple très simple de la façon dont MapReduce peut être utilisé. Imaginez que vous avez affaire à un grand ensemble de données où vous voulez effectuer des opérations complexes telles que le regroupement des milliards de documents où l'opération et les données sont tout simplement trop grand pour une seule machine à manipuler. Hadoop est l'outil à considérer.


    » » » » Comment utiliser Apache Hadoop pour l'analyse prédictive