203 votes

Quand utiliser Hadoop, HBase, Hive et Pig ?

Quels sont les avantages de l'utilisation Hadoop o HBase o Ruche ?

D'après ce que j'ai compris, HBase évite d'utiliser map-reduce et dispose d'un stockage orienté colonne au-dessus de HDFS. Ruche est une interface de type sql pour Hadoop y HBase .

J'aimerais également savoir comment Ruche se compare à Cochon .

0 votes

Hadoop : Système de fichiers distribués Hadoop + Modèle de traitement informatique MapReduce. HBase : Stockage clé-valeur, bon pour la lecture et l'écriture en quasi temps réel. Ruche : Utilisé pour l'extraction de données à partir du HDFS en utilisant une syntaxe de type SQL. Cochon : est un langage de flux de données pour la création d'ETL.

5voto

user1337387 Points 11

J'ai travaillé sur une architecture Lambda traitant des charges en temps réel et en lots. Le traitement en temps réel est nécessaire lorsque des décisions rapides doivent être prises en cas d'alarme incendie envoyée par un capteur ou de détection de fraude dans le cas de transactions bancaires. Le traitement par lot est nécessaire pour résumer les données qui peuvent être alimentées dans les systèmes de BI.

nous avons utilisé Hadoop les technologies de l'écosystème pour les applications susmentionnées.

Traitement en temps réel

Apache Storm : Traitement de données en continu, application de règles

HBase : Datastore pour servir le tableau de bord en temps réel

Traitement par lots Hadoop : Traitement d'énormes quantités de données. Vue d'ensemble à 360 degrés ou ajout de contexte aux événements. Des interfaces ou des cadres comme Pig, MR, Spark, Hive, Shark aident au calcul. Cette couche nécessite un planificateur pour lequel Oozie est une bonne option.

Couche de traitement des événements

Apache Kafka a été la première couche à consommer des événements à grande vitesse provenant de capteurs. Kafka sert à la fois le flux de données analytiques en temps réel et en lots par le biais de connecteurs Linkedin.

5voto

shazin Points 4567

Pour une comparaison entre Hadoop et Cassandra/HBase, lisez ceci. poste .

Fondamentalement, HBase permet des lectures et des écritures très rapides avec une extensibilité. Comment rapide et évolutif ? Facebook l'utilise pour gérer les statuts de ses utilisateurs, leurs photos, leurs messages de discussion, etc. HBase est si rapide que des piles ont parfois été développées par Facebook pour utiliser HBase comme magasin de données pour Hive lui-même.

Alors que Hive s'apparente davantage à une solution d'entreposage de données. Vous pouvez utiliser une syntaxe similaire à celle du SQL pour interroger le contenu de Hive, ce qui donne lieu à un travail de Map Reduce. Cette solution n'est pas idéale pour les systèmes rapides et transactionnels.

1voto

Tout d'abord, il faut bien comprendre que Hadoop a été créé comme une alternative plus rapide à SGBDR . Traiter une grande quantité de données à un rythme très rapide, ce qui prenait auparavant beaucoup de temps dans les SGBDR.

Il faut maintenant connaître les deux termes :

  1. Données structurées : Ce sont les données que nous utilisons dans les SGBDR traditionnels et qui sont divisées en structures bien définies.

  2. Données non structurées : Il est important de comprendre qu'environ 80% des données mondiales sont non structurées ou semi structurées. Ce sont les données qui sont sous leur forme brute et qui ne peuvent pas être traitées à l'aide de RDMS. Exemple : données facebook, twitter. ( http://www.dummies.com/how-to/content/unstructured-data-in-a-big-data-environment.html ).

Ainsi, de grandes quantités de données ont été générées au cours des dernières années et les données étaient pour la plupart non structurées, ce qui a donné naissance à HADOOP. Il était principalement utilisé pour de très grandes quantités de données qui prenaient un temps insupportable avec un SGBDR. Il présentait de nombreux inconvénients, notamment celui de ne pas pouvoir être utilisé pour des données comparativement petites en temps réel, mais ils ont réussi à éliminer ces inconvénients dans la nouvelle version.

Avant d'aller plus loin, je voudrais dire qu'un nouvel outil Big Data est créé lorsqu'on constate un défaut dans les outils précédents. Ainsi, quel que soit l'outil que vous verrez, il a été créé pour surmonter le problème des outils précédents.

Hadoop peut se résumer à deux choses : Mapreduce y HDFS . Mapreduce est l'endroit où le traitement a lieu et HDFS est la base de données où les données sont stockées. Cette structure a suivi WORM principal, c'est-à-dire écrire une fois lire plusieurs fois. Ainsi, une fois que nous avons stocké des données dans HDFS, nous ne pouvons pas les modifier. Cela a conduit à la création de HBASE Un produit NOSQL qui permet de modifier les données même après les avoir écrites une fois.

Mais avec le temps, nous avons vu qu'Hadoop avait de nombreux défauts et pour cela nous avons créé différents environnements sur la structure Hadoop. PIG et HIVE sont deux exemples populaires.

HIVE a été créé pour les personnes ayant SQL le fond. Les requêtes écrites sont similaires à celles de SQL nommées comme HIVEQL . HIVE a été développé pour traiter complètement données structurées . Il n'est pas utilisé pour les données structurées.

COCHON d'autre part, possède son propre langage d'interrogation, à savoir COCHON LATIN . Il peut être utilisé à la fois pour structuré ainsi que données non structurées .

Pour ce qui est de la différence entre HIVE et PIG, je ne pense pas que quelqu'un d'autre que l'architecte de PIG puisse le dire. Suivez le lien : https://developer.yahoo.com/blogs/hadoop/comparing-pig-latin-sql-constructing-data-processing-pipelines-444.html

0voto

Sandeep Giri Points 108

Je vais essayer de répondre en quelques mots.

Hadoop est un éco-système qui comprend tous les autres outils. Ainsi, vous ne pouvez pas comparer Hadoop mais vous pouvez comparer MapReduce.

Voici mes quelques centimes :

  1. Ruche : Si votre besoin est très SQL, c'est-à-dire que l'énoncé de votre problème peut être résolu par SQL, le plus simple est d'utiliser Hive. L'autre cas où vous utiliserez Hive est lorsque vous voulez qu'un serveur ait une certaine structure de données.
  2. Cochon : Si vous êtes à l'aise avec le Pig Latin et que vous avez besoin de plus de pipelines de données. De plus, vos données manquent de structure. Dans ces cas, vous pouvez utiliser Pig. Honnêtement, il n'y a pas beaucoup de différence entre Hive et Pig en ce qui concerne les cas d'utilisation.
  3. MapReduce : Si votre problème ne peut être résolu en utilisant SQL straight, vous devez d'abord essayer de créer des UDF pour Hive & Pig et ensuite, si l'UDF ne résout pas le problème, il est logique de le faire via MapReduce.

0voto

y durga prasad Points 417

Pig : il est préférable de manipuler les fichiers et de nettoyer les données exemple : suppression des valeurs nulles, traitement des chaînes de caractères, valeurs inutiles Hive : pour effectuer des requêtes sur les données nettoyées

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