News information : Threads – Ordinateurs de distribution de nouvelle génération utilisant Hadoop

présentation

Lorsque quelqu'un mentionne Map / Reduction, nous pensons immédiatement à Hadoop et vice versa. Avec l'idée lancée par Google, Map / Reduce a suscité un grand intérêt dans le monde informatique. Cet intérêt a surgi dans Hadoop, qui fonctionnait sur Yahoo. En général, Hadoop a été utilisé pour développer des solutions utilisant des dispositifs de fret, bien que Map / Reduction ne soit pas un algorithme approprié pour le problème en question. Cela a provoqué une révision dans le monde Hadoop. Hadoop a été ré-architecturé, le rendant capable de prendre en charge des solutions informatiques distribuées, plutôt que de simplement prendre en charge Map / Reduction. Après l'exercice de ré-architecture, la principale caractéristique qui distingue Hadoop 2 (comme on l'appelle la version ré-architecturée) de Hadoop 1, est YARN (Yet Another Resource Negotiator). Bien que YARN ait été développé en tant que composant du projet Map / Reduce et conçu pour surmonter certains des problèmes de performances et d'évolutivité du modèle Hadoop d'origine, il était entendu que YARN pouvait être étendu pour prendre en charge d'autres modèles de solution tels que DAG (Directed Acyclic). Graphique).

Pourquoi un autre modèle de programmation?

Depuis de nombreuses années, Map / Reduction est au cœur de Hadoop pour l'informatique distribuée et a bien servi. Mais Map / Reduce est restrictif, car il est orienté cluster, a des opérations de transfert réseau et disque coûteuses et ne permet pas de partager des données / messages entre des travaux Map / Reduce. Certains des cas d'utilisation où la carte / réduction est inappropriée sont les suivants:

1) Requêtes interactives: le volume de données stockées sur Hadoop HDFS augmente de façon exponentielle et a atteint le taux de pétaoctet dans certaines entreprises. En règle générale, les travaux Hive, Pig et Map / Reduce sont utilisés pour extraire et traiter les données. Mais les entreprises recherchent une acquisition de données rapide grâce à des requêtes interactives, qui devraient générer des résultats en quelques secondes. Certains exemples de requêtes interactives affichent des graphiques dynamiques, des analyses, la création de données en cluster, etc.

2) Traitement des données en temps réel: Bien qu'il soit connu que le Big Data devrait prendre en charge les trois attributs V des données, à savoir. Volume, variété et vitesse Dans la plupart des cas, Hadoop ne pouvait prendre en charge que deux des attributs, à savoir le volume et la variété. La vitesse devait être abordée à l'aide de technologies telles que l'informatique en mémoire (IMC) et le traitement des flux de données. Certains des cas d'utilisation qui nécessitent une réponse en temps quasi réel sont la détection des fraudes par carte de crédit, la prédiction des défauts de réseau à partir des données des capteurs, la prédiction des menaces de sécurité du réseau, etc.

3) Apprentissage automatique efficace: la plupart des algorithmes d'apprentissage automatique sont de nature répétitive et prennent en compte l'ensemble complet de données pour des résultats précis et chaque itération génère des données intermédiaires. Bien que des outils comme Apache Mahout soient populaires et couramment utilisés pour implémenter des solutions d'apprentissage automatique au-dessus de Hadoop, il utilise Map / Reduce pour chaque itération et enregistre les données intermédiaires dans HDFS, ce qui réduit les performances des applications. Certains des cas d'utilisation qui nécessitent des algorithmes d'apprentissage automatique efficaces sont la segmentation client en utilisant le clustering K-means, l'analyse de sentiment en utilisant l'allocation de Dirichlet Latich (LDA), etc.

4) Traitement graphique efficace: lorsque Google a mis au point Pregel, une architecture de traitement graphique en 2010, il a attiré l'attention de nombreuses entreprises. Les entreprises ont commencé à exiger un traitement graphique sur Hadoop. Apache Giraph était la réponse open source de Google Pregel, qui a utilisé Mapping / Reduction pour sa répétition de graphiques. Mais Giraph est inefficace dans Map / Reduction, en raison de sa nature itérative et son moteur de traitement utilise uniquement la partie Map / Reduction de la carte. Certains des cas d'utilisation pour le traitement des graphiques sont l'analyse d'impact et la planification du réseau, le graphique social pour la recommandation d'amis, etc.

Dans les sections suivantes, nous couvrons chacun des points mentionnés ci-dessus, ainsi que les outils / techniques fournis par Hadoop 2 et YARN.

Questions interactives sur les vêtements

Apache Tez est le cadre d'application défini au sommet de YARN, permettant de développer des solutions à l'aide du graphique acyclique dirigé (DAG) de tâches à tâche unique. Les tâches DAG sont un outil plus puissant que Map / Reduce traditionnel, car il réduit la nécessité d'exécuter plusieurs tâches pour rechercher Hadoop. De nombreux travaux / travaux de réduction sont créés pour exécuter une seule requête. Chaque travail de mappage / réduction doit être initialisé, les données intermédiaires doivent être enregistrées et échangées entre les travaux, ce qui ralentit l'exécution des requêtes. Dans DAG, il s'agit d'un travail autonome et les données n'ont pas besoin d'être stockées par intermittence. Il est prévu que Hive et Pig utiliseront éventuellement Tez pour des questions interactives.

Traitement des threads en temps réel

Apache STORM offre un traitement des données en temps réel à grande vitesse en utilisant le modèle Spout-Bolt. Un Spout est la source du message et un Bolt traite les données. YARN devrait permettre le déploiement de STORM plus près des données, ce qui à son tour réduira les coûts de transfert de réseau et d'acquisition de données. Les données obtenues par eux peuvent être utilisées par des tâches qui utilisent DAG ou Map-Reduce pour un traitement ultérieur.

Apprentissage de la machine à fil itérative

Apache SPARK est un framework informatique en mémoire et envoyé à Hadoop YARN. SPARK est conçu pour accélérer les itérations d'apprentissage automatique en stockant les données en mémoire. Mlib est une bibliothèque d'apprentissage machine qui utilise SPARK pour stocker des données en mémoire pour une exécution efficace d'algorithmes d'apprentissage machine itératifs.

Traitement graphique dans les threads

Apache Giraph est un système de traitement graphique itératif conçu pour une évolutivité élevée. Giraph a été mis à jour pour fonctionner sur les brins. Il utilise YARN pour le traitement synchrone en bloc (BSP) pour les données de semi-conducteurs à grand volume. Giraph a été conçu pour fonctionner au-dessus de Hadoop 1, mais était inefficace en raison de son utilisation de Map / Reduction et de sa nature itérative.

Comment tout empile dans le fil

Le cluster technologique Hadoop 2 devrait avoir un impact significatif sur le développement d'applications. Les applications pourront utiliser le traitement par lots, les requêtes interactives, les calculs en temps réel et les calculs mis en cache par-dessus YARN et HDFS fédérés. La technologie de pile de YARN dispose de divers moteurs tels que Map / Reduce, Tez et Slider. Différents composants Hadoop peuvent être exécutés sur ces moteurs ou en filetage direct. Certains composants comme Tez et Slider sont encore en phase d'incubation. La pile technologique de l'écosystème Hadoop 2 est la suivante

1) Map / Reduce: Map / Reduce fonctionnera au-dessus de YARN. Par programmation, le code reste le même, mais des modifications de configuration seront nécessaires pour déplacer une application vers Hadoop 2.

2) Série et interactif: Tez s'appuie sur YARN pour fournir un support de requête interactif. Tez généralise le modèle Map / Reduce à un cadre plus robuste pour exécuter un DAG complexe de tâches de traitement de données rapprochées en temps réel. À l'heure actuelle, Pig se compose d'un langage de pointe (Pig Latin) pour exprimer des programmes d'analyse de données couplés au cadre Map / Reduction pour le traitement de ces programmes, et Hive est un référentiel de données qui permet une agrégation facile des données. des données et des requêtes ad hoc via une interface de type SQL vers de grands ensembles de données stockés dans HDFS. Actuellement, Pig et Hive utilisent beaucoup de travail / réduisent les travaux, ce qui endommage à son tour la latence et le débit. À terme, Pig et Hive devraient profiter du moteur Tez pour répondre au temps de réaction rapide et au débit extrême au taux de pétaoctets.

3) Slider-Real Slider: le moteur du curseur comblera le fossé entre l'application existante et l'application YARN et permettra à l'application existante d'utiliser l'écosystème Hadoop 2 via YARN. Avec Slider, les applications distribuées qui ne sont pas compatibles avec YARN peuvent désormais "glisser" pour s'exécuter sur Hadoop – généralement sans modification de code. STORM devrait glisser initialement.

4) Produits existants qui ont migré vers le thread: il existe des API comme SPARK et STORM qui ont apporté les modifications requises et utilisent les capacités YARN sans utiliser de moteurs comme Tez ou Slider.

conclusion

YARN fait de Hadoop 2 une architecture plus robuste, évolutive et extensible par rapport à sa version précédente. YARN fournira à terme le développement de la communauté et de l'architecture, une grande plate-forme d'application de données qui aura des capacités telles que les clusters, les requêtes interactives, l'informatique en temps réel et plus, dans un seul écosystème