184 votes

Quand utiliser Hadoop, HBase, ruche et cochon ?

<p>Quels sont les avantages d’utiliser <strong>Hadoop</strong> ou <strong>HBase</strong> ou <strong>la ruche</strong> ?</p> <p>De ma compréhension, <strong>HBase</strong> évite d’utiliser réduction de mappage et une colonne est orientée vers le stockage sur le dessus de HDFS. <strong>La ruche</strong> est une interface de type sql pour <strong>Hadoop</strong> et <strong>HBase</strong>.</p> <p>Je voudrais également savoir comment <strong>la ruche</strong> se compare avec le <strong>cochon</strong>.</p>

347voto

Tariq Points 12826

MapReduce est juste un cadre informatique. HBase n'a rien à faire avec elle. Cela dit, vous pouvez efficacement de vente ou d'extraction des données vers/à partir de HBase par écrit de tâches MapReduce. Alternativement, vous pouvez écrire des programmes séquentiels en utilisant d'autres HBase Api, tels que Java, de déposer ou de récupérer les données. Mais nous utiliser Hadoop, HBase, etc pour faire face à de gigantesques quantités de données, ce qui n'a pas beaucoup de sens. L'utilisation normale des programmes séquentiels serait très inefficace lors de vos données est trop grande.

Revenir à la première partie de votre question, Hadoop est essentiellement 2 choses - un système de fichiers Distribués(HDFS)+un système de Calcul ou de Traitement de cadre(MapReduce). Comme tous les autres FS, HDFS nous offre également de stockage, mais dans une tolérance de panne avec un débit élevé et moins de risques de perte de données(en raison de la réplication). Mais, étant un FS, HDFS manque de lecture et d'écriture aléatoires y accéder. C'est là que HBase entre en image. Il est distribué, évolutive, grand magasin de données, sur le modèle de Google BigTable. Il stocke les données comme des paires clé/valeur.

Venir à la Ruche. Elle nous fournit des données d'entreposage des installations sur le dessus d'un cluster Hadoop. Avec ce qu'elle offre une SQL comme interface, ce qui rend votre travail plus facile, dans le cas où vous sont à venir à partir d'un SQL arrière-plan. Vous pouvez créer des tables dans la Ruche et de stocker des données. Avec même, vous pouvez mapper vos tables HBase de la Ruche et de fonctionner sur eux.

Alors que le Porc est essentiellement un flux de données de la langue qui nous permet de traiter d'énormes quantités de données très facilement et rapidement.Cochon a en fait 2 parties, le Cochon d'Interprète et de la langue, PigLatin. Vous écrivez script Pig dans PigLatin et à l'aide de Porc interprète processus. Cochon qui rend notre vie beaucoup plus facile, sinon l'écriture MapReduce est pas toujours facile. En fait, dans certains cas, il peut vraiment être une douleur.

J'avais écrit un article sur une courte comparaison de différents outils de l'écosystème Hadoop il y a quelques temps. Vous pouvez le visiter ici, si vous le souhaitez. Ce n'est pas une comparaison approfondie, mais une courte intro de chacun de ces outils qui peuvent vous aider à obtenir commencé. (Juste pour ajouter à ma réponse. Pas d'auto-promotion)

** Les deux Hive et Pig requêtes converti dans MapReduce sous le capot.

HTH

53voto

J'ai mis en place une Ruche d'une plate-forme de Données récemment dans mon entreprise et peuvent en parler à la première personne depuis que j'ai été un homme d'équipe.

Objectif

  1. Pour avoir le quotidien des fichiers journaux web recueillies auprès de plus de 350 serveurs quotidiennement queryable thru certains SQL comme langage
  2. Pour remplacer quotidien d'agrégation de données générées thru MySQL avec la Ruche
  3. Créer des rapports Personnalisés thru requêtes dans la Ruche

Options D'Architecture

J'ai comparé les options suivantes 1. La ruche+HDFS 2. La ruche+HBase - requêtes ont été trop lents, donc sous-évaluées cette option

Conception

  1. Journal quotidien les Fichiers ont été transportés à l'HDFS
  2. M. emplois analysé ces fichiers journaux et les fichiers de sortie dans HDFS
  3. Créer de la Ruche tables avec des partitions et des lieux pointant vers HDFS emplacements
  4. Créer la requête de la Ruche scripts (appeler HQL si u comme diff de SQL) qui à son tour a couru M. emplois dans le fond et a généré l'agrégation de données
  5. Mettre toutes ces étapes dans un Oozie flux de travail est prévue avec le Quotidien Oozie Coordonnateur

Résumé

HBase est comme une Carte. Si tu sais la clé, u peut obtenir instantanément de la valeur. Mais si tu veux savoir combien entier clés dans Hbase sont entre 1000000 et 2000000 qui n'est pas adapté pour Hbase seul. Si vous avez d'agréger les données, roulé, analysé à travers les lignes, puis envisager la Ruche

espérons que cela aide. Bonne chance. La ruche en fait les roches très bien...je sais que je l'ai vécu pendant 12 mois maintenant...donc ne Hbase....

22voto

David Gruzman Points 5129
<p>Considérons que vous travaillez avec SGBDR et qu’il faut choisir ce qu’il faut utiliser un balayage complet de la table, ou accès index - mais un seul d'entre eux.<br>Si vous sélectionnez scan de table complet - utilisez la ruche. Si index accès - HBase.<br></p>

5voto

shazin Points 4567

Pour une Comparaison Entre Hadoop Vs Cassandra/HBase lire ce post.

Fondamentalement, HBase permet vraiment d'une vitesse de lecture et de l'écriture avec l'évolutivité. Comment rapide et évolutive? Facebook utilise pour gérer ses statuts utilisateur, photos, messages de chat, etc. HBase est si vite parfois, les piles ont été développés par Facebook pour utiliser HBase comme la banque de données de la Ruche elle-même.

Où Que la Ruche est plus comme une solution d'Entreposage de Données. Vous pouvez utiliser une syntaxe proche de SQL pour interroger la Ruche contenu qui entraîne une Carte de Réduire l'emploi. Pas idéal pour les rapides, les systèmes transactionnels.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X