web-dev-qa-db-fra.com

Quand utiliser Hadoop, HBase, Hive and Pig?

Quels sont les avantages d'utiliser soit Hadoop ou HBase ou Hive?

À ma connaissance, HBase évite d’utiliser Map-Réduire et dispose d’un stockage orienté colonne au-dessus de HDFS. Hive est une interface de type SQL pour Hadoop et HBase.

Je voudrais aussi savoir comment Hive se compare à Pig.

180
Khalefa

MapReduce est juste un framework informatique. HBase n'a rien à voir avec cela. Cela dit, vous pouvez efficacement insérer ou extraire des données vers/depuis HBase en écrivant des tâches MapReduce. Vous pouvez également écrire des programmes séquentiels à l'aide d'autres API HBase, telles que Java, pour placer ou récupérer les données. Mais nous utilisons Hadoop, HBase, etc. pour traiter des quantités de données gigantesques, ce qui n’a donc aucun sens. L'utilisation de programmes séquentiels normaux serait très inefficace lorsque vos données sont trop volumineuses.

Pour revenir à la première partie de votre question, Hadoop se compose essentiellement de 2 choses: a Système de fichiers distribués (HDFS) + a Cadre de calcul ou de traitement (MapReduce). Comme tous les autres systèmes de fichiers, HDFS nous fournit également du stockage, mais de manière tolérante aux pannes, avec un débit élevé et un risque moins élevé de perte de données (en raison de la réplication). Mais, en tant que FS, HDFS manque de accès en lecture et écriture aléatoires. C'est là que HBase entre en image. Il s'agit d'un Big Data Store distribué], évolutif et évolutif, inspiré de BigTable de Google. Il stocke les données sous forme de paires clé/valeur.

Venir à la ruche. Il nous fournit des installations de données entreposage au-dessus d’un cluster Hadoop existant. Parallèlement à cela, il fournit une interface SQL like qui facilite votre travail, si vous venez d'un contexte SQL. Vous pouvez créer des tables dans Hive et y stocker des données. Parallèlement, vous pouvez même mapper vos tables HBase existantes vers Hive et les utiliser.

Bien que Pig soit fondamentalement un langage de flux de données, il nous permet de traiter d’énormes quantités de données très facilement et rapidement. Le porc comprend essentiellement 2 parties: le porc interprète et le langage PigLatin. Vous écrivez un script Pig dans PigLatin et vous les traitez avec un interpréteur Pig. Le porc nous rend la vie beaucoup plus facile, sinon écrire MapReduce n’est pas toujours facile. En fait, dans certains cas, cela peut devenir vraiment pénible.

J'avais écrit un article sur une courte comparaison de différents outils de l'écosystème Hadoop il y a quelque temps. Ce n'est pas une comparaison en profondeur, mais une courte introduction à chacun de ces outils qui peut vous aider à démarrer. (Juste pour ajouter à ma réponse. Aucune promotion personnelle destinée)

Les requêtes Hive et Pig sont converties en tâches MapReduce sous le capot.

HTH

339
Tariq

J'ai récemment mis en place une plateforme Hive Data dans mon entreprise et je peux en parler à la première personne depuis que je suis une équipe composée d'un seul homme.

Objectif

  1. Pour que les fichiers de journal Web quotidiens collectés auprès de plus de 350 serveurs soient interrogés quotidiennement à l'aide de SQL comme langage
  2. Pour remplacer les données d'agrégation quotidiennes générées via MySQL avec Hive
  3. Construire des rapports personnalisés via des requêtes dans Hive

Options d'architecture

J'ai comparé les options suivantes:

  1. Ruche + HDFS
  2. Hive + HBase - Les requêtes étaient trop lentes alors j'ai vidé cette option

Conception

  1. Journal quotidien Les fichiers ont été transportés vers HDFS
  2. Les tâches MR ont analysé ces fichiers journaux et les fichiers de sortie dans HDFS
  3. Créez des tables Hive avec des partitions et des emplacements pointant vers HDFS
  4. Créez des scripts de requête Hive (appelez-le HQL si vous aimez aussi diff de SQ) qui a exécuté des travaux MR en arrière-plan et données d'agrégation générées
  5. Mettez toutes ces étapes dans un flux de travail Oozie - planifié avec Daily Oozie Coordinateur

Sommaire

HBase est comme une carte. Si vous connaissez la clé, vous pouvez obtenir instantanément la valeur. Mais si vous voulez savoir combien de clés entières dans Hbase sont comprises entre 1000000 et 2000000, cela ne convient pas à Hbase seul.

Si vous avez des données à agréger, cumulées, analysées sur plusieurs lignes, alors considérez Hive .

Espérons que cela aide.

Hive est vraiment très rock ... Je sais, je la vis depuis 12 mois maintenant ... Il en va de même HBase . ..

51
Sanjay Subramanian

Hadoop est un framework qui permet le traitement distribué de grands ensembles de données sur des grappes d'ordinateurs à l'aide de modèles de programmation simples.

Il existe quatre modules principaux dans Hadoop.

  1. Hadoop Common : utilitaires communs prenant en charge les autres modules Hadoop.

  2. Système de fichiers distribué Hadoop ( HDFS ™ ): système de fichiers distribué offrant un accès à haut débit aux données d'application.

  3. Hadoop FIL: cadre pour la planification des travaux et la gestion des ressources en cluster.

  4. Hadoop MapReduce : Système basé sur YARN pour le traitement parallèle de grands ensembles de données.

Avant d'aller plus loin, notons que nous avons trois types de données différents.

  • Structuré : les données structurées ont un schéma fort et le schéma sera vérifié pendant les opérations d'écriture et de lecture. par exemple. Données dans les systèmes de SGBDR tels qu'Oracle, MySQL, etc.

  • Non structuré : les données n'ont aucune structure et peuvent être de n'importe quelle forme - journaux de serveur Web, courrier électronique, images, etc.

  • Semi-structuré : les données ne sont pas structurées de manière stricte, mais ont une certaine structure. par exemple. Fichiers XML.

Selon le type de données à traiter, nous devons choisir la bonne technologie.

Quelques autres projets, qui font partie d'Hadoop:

  • HBase ™ : Base de données distribuée, évolutive, prenant en charge le stockage de données structurées pour les grandes tables.

  • Hive ™: infrastructure d’entrepôt de données fournissant un résumé des données et des requêtes ad hoc.

  • Pig ™ : langage de flux de données de haut niveau et cadre d’exécution pour le calcul parallèle.

Hive Vs PIG comparaison peut être trouvé à ceci article et mon autre poste à cette SE question .

HBASE ne remplacera pas la réduction de la map. HBase est une base de données distribuée évolutive & Carte Réduire est un modèle de programmation pour le traitement distribué de données. Map Reduce peut agir sur les données de HBASE en cours de traitement.

Vous pouvez utiliser Hive/HBASE pour les données structurées/semi-structurées et les traiter avec Hadoop Map Reduce

Vous pouvez utiliser SQOOP pour importer des données structurées à partir de bases de données SGBDR traditionnelles Oracle, SQL Server, etc. et les traiter avec Hadoop Map Reduce.

Vous pouvez utiliser FLUME pour traiter des données non structurées et les traiter avec Hadoop Map Reduce

Consultez: Cas d'utilisation Hadoop .

Hive doit être utilisé pour l'interrogation analytique des données collectées sur une période donnée. Par exemple, calculez les tendances, récapitulez les journaux du site Web, mais ne pouvez pas les utiliser pour des requêtes en temps réel.

HBase convient à l'interrogation en temps réel du Big Data. Facebook l'utilise pour la messagerie et l'analyse en temps réel.

PIG peut être utilisé pour créer des flux de données, exécuter des travaux planifiés, regrouper de gros volumes de données, les agréger/résumer et les stocker dans des systèmes de base de données relationnels. Bon pour l'analyse ad hoc.

Hive peut être utilisé pour l'analyse de données ad-hoc, mais il ne prend pas en charge tous les formats de données non structurés, contrairement à PIG.

25
Ravindra babu

Considérez que vous travaillez avec le SGBDR et devez sélectionner les éléments à utiliser (analyses complètes de table ou accès à l'index), mais un seul d'entre eux.
Si vous sélectionnez l'analyse complète de la table, utilisez Hive. Si accès à l'index - HBase.

22
David Gruzman

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

En gros, HBase permet une lecture et une écriture très rapides avec évolutivité. À quelle vitesse et évolutif? Facebook l'utilise pour gérer ses statuts d'utilisateur, ses photos, ses messages de discussion, etc. HBase est si rapide que Facebook a parfois développé des piles pour utiliser HBase comme magasin de données pour Hive.

Where As Hive s'apparente davantage à une solution d'entreposage de données. Vous pouvez utiliser une syntaxe similaire à SQL pour interroger le contenu Hive, ce qui aboutit à un travail de réduction de mappage. Pas idéal pour les systèmes transactionnels rapides.

5
shazin

J'ai travaillé sur l'architecture Lambda pour le traitement des charges temps réel et batch. Un traitement en temps réel est nécessaire lorsque des décisions rapides doivent être prises en cas d'envoi d'alarme incendie par capteur ou de détection de fraude en cas de transaction bancaire. Le traitement par lots est nécessaire pour résumer les données pouvant être transmises aux systèmes BI.

nous avons utilisé Hadoop technologies écosystémiques pour les applications ci-dessus.

Traitement en temps réel

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

HBase: magasin de données servant au tableau de bord en temps réel

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

couche de gestion des événements

Apache Kafka a été la première couche à consommer les événements à haute vélocité du capteur. Kafka sert des flux de données d'analyse en temps réel et par lots via les connecteurs Linkedin.

5
akshat thakar

Comprendre en profondeur

Hadoop

Hadoop est un projet open source de la fondation Apache. Il s’agit d’un framework écrit en Java, développé à l’origine par Doug Cutting en 2005. Il a été créé pour prendre en charge la distribution de Nutch, le moteur de recherche de texte. Hadoop utilise les technologies Map Reduce et Google File System de Google comme base.

Caractéristiques de Hadoop

  1. Il est optimisé pour gérer d’énormes quantités de données structurées, semi-structurées et non structurées à l’aide de matériel standard.
  2. Il n'a rien partagé d'architecture.
  3. Il réplique ses données sur plusieurs ordinateurs. Ainsi, en cas de panne, les données peuvent toujours être traitées à partir d'un autre ordinateur qui stocke son réplica.
  4. Hadoop est destiné à un débit élevé plutôt qu’à une faible latence. Il s’agit d’une opération par lots gérant d’énormes quantités de données; Par conséquent, le temps de réponse n'est pas immédiat.
  5. Il complète le traitement des transactions en ligne et le traitement analytique en ligne. Cependant, ce n'est pas un remplacement pour un RDBMS.
  6. Ce n'est pas bien quand le travail ne peut pas être parallélisé ou quand il y a des dépendances dans les données.
  7. Ce n'est pas bon pour le traitement de petits fichiers. Cela fonctionne mieux avec des fichiers de données énormes et des ensembles de données.

versions de Hadoop

Il existe deux versions de Hadoop disponibles:

  1. Hadoop 1.0
  2. Hadoop 2.0

Hadoop 1.

Il comporte deux parties principales:

1. Cadre de stockage de données

Il s’agit d’un système de fichiers polyvalent appelé système de fichiers distribué Hadoop (HDFS).

HDFS est sans schéma

Il stocke simplement des fichiers de données et ces fichiers de données peuvent être dans n'importe quel format.

L'idée est de stocker les fichiers aussi proches que possible de leur forme d'origine.

Ceci fournit à son tour aux unités d’affaires et à l’organisation la flexibilité et l’agilité indispensables sans être trop inquiet pour ce qu’il peut mettre en œuvre.

2. Cadre de traitement de données

Il s'agit d'un modèle de programmation fonctionnel simple, popularisé initialement par Google sous le nom de MapReduce.

Il utilise essentiellement deux fonctions: MAP et REDUCE pour traiter les données.

Les "mappeurs" prennent un ensemble de paires clé-valeur et génèrent des données intermédiaires (une autre liste de paires clé-valeur).

Les "réducteurs" agissent alors sur cette entrée pour produire les données de sortie.

Les deux fonctions fonctionnent apparemment isolément, permettant ainsi au traitement d'être hautement distribué de manière hautement parallèle, avec tolérance aux pannes et évolutive.

Limitations de Hadoop 1.

  1. La première limite était l’exigence de MapReduce expertise en programmation.

  2. Il ne prenait en charge que le traitement par lots, ce qui convient bien à des tâches telles que l'analyse de journaux, les projets de data mining à grande échelle, mais peu adapté à d'autres types de projets.

  3. Une limitation majeure était que Hadoop 1.0 était étroitement couplé de calcul à MapReduce, ce qui signifiait que les fournisseurs de solutions de gestion de données établis avaient deux opinions:

    1. Soit réécrire leurs fonctionnalités dans MapReduce pour qu’elles puissent être exécutées dans Hadoop ou

    2. Extrayez les données de HDFS ou traitez-les en dehors de Hadoop.

Aucune des options n'était viable, car elle entraînait des inefficacités liées au transfert de données dans le cluster Hadoop.

Hadoop 2.

Dans Hadoop 2.0, HDFS continue d'être un cadre de stockage de données.

Cependant, un nouveau et distinct framework de gestion des ressources appelé Y et A nother R esource N egotiater (FIL) a été ajouté.

Toute application capable de se diviser en tâches parallèles est prise en charge par YARN.

YARN coordonne l’attribution des sous-tâches de la candidature soumise, améliorant ainsi la flexibilité, l’extensibilité et l’efficacité des applications.

Cela fonctionne en ayant Application Master à la place de Job Tracker, les applications en cours d'exécution sur les ressources régies par new Node Manager.

ApplicationMaster est capable d'exécuter n'importe quelle application et pas seulement MapReduce.

Cela signifie qu'il ne prend pas en charge le traitement par lots mais également le traitement en temps réel. MapReduce n'est plus la seule option de traitement de données.

Avantages de Hadoop

Il stocke les données dans son fichier natif. Aucune structure n'est imposée lors de la saisie ou du stockage de données. HDFS est moins de schéma. Ce n'est que plus tard, lorsque les données doivent être traitées, que la structure est imposée aux données brutes.

C'est évolutif. Hadoop peut stocker et distribuer de très grands ensembles de données sur des centaines de serveurs peu coûteux fonctionnant en parallèle.

Il est résistant à l'échec. Hadoop est la tolérance de panne. Il pratique la réplication des données avec diligence, ce qui signifie que chaque fois que des données sont envoyées à un nœud, les mêmes données sont également répliquées sur les autres nœuds du cluster, garantissant ainsi qu'en cas de défaillance du nœud, une autre copie des données sera toujours disponible.

C'est flexible. L'un des principaux avantages de Hadoop est qu'il peut fonctionner avec tout type de données: structurées, non structurées ou semi-structurées. En outre, le traitement est extrêmement rapide dans Hadoop en raison du paradigme "déplacer le code vers les données".

écosystème Hadoop

Voici les composants de l'écosystème Hadoop:

HDFS: Hadoop Système de fichiers distribué. Il stocke simplement des fichiers de données aussi proches que possible du formulaire d'origine.

HBase: C'est la base de données de Hadoop et se compare bien avec un RDBMS. Il prend en charge le stockage de données structuré pour les grandes tables.

Hive: Il permet l'analyse de grands ensembles de données en utilisant un langage très similaire à la norme ANSI SQL, ce qui implique que toute personne familiarisée avec SQL devrait pouvoir accéder aux données sur une Hadoop grappe.

Pig: C'est un langage facile à comprendre. Cela facilite l’analyse de grands ensembles de données, ce qui est tout à fait dans l’ordre avec Hadoop. Les scripts Pig sont automatiquement convertis en travaux MapReduce par l'interpréteur Pig.

ZooKeeper: C'est un service de coordination pour les applications distribuées.

Oozie: Il s'agit d'un système de flux de travaux schedular permettant de gérer les travaux Apache Hadoop.

Mahout: C'est une bibliothèque évolutive d'apprentissage machine et de data mining.

Chukwa: C'est un système de collecte de données permettant de gérer un grand système distribué.

Sqoop: Il est utilisé pour transférer des données en vrac entre Hadoop et des magasins de données structurés tels que des bases de données relationnelles.

Ambari: Il s’agit d’un outil Web pour le provisioning, la gestion et la surveillance de Hadoop clusters.

Ruche

Hive est un outil d'infrastructure d'entrepôt de données permettant de traiter des données structurées dans Hadoop. Il se trouve au-dessus de Hadoop pour résumer le Big Data et facilite les interrogations et les analyses.

La ruche n'est pas

  1. Une base de données relationnelle

  2. Une conception pour le traitement des transactions en ligne (OLTP).

  3. Un langage pour les requêtes en temps réel et les mises à jour au niveau de la ligne.

Caractéristiques de la ruche

  1. Il stocke le schéma dans la base de données et les données traitées dans HDFS.

  2. Il est conçu pour OLAP.

  3. Il fournit un langage de type SQL pour les requêtes appelé HiveQL ou HQL.

  4. Il est familier, rapide, évolutif et extensible.

Architecture de la ruche

Les composants suivants sont contenus dans Hive Architecture:

  1. Interface utilisateur: Hive est une infrastructure data warehouse pouvant créer une interaction entre l'utilisateur et HDFS. Les interfaces utilisateur prises en charge par Hive sont Hive Web UI, la ligne de commande Hive et Hive HD Insight (sous Windows Server).

  2. MetaStore: Hive choisit respectivement databaseservers pour stocker le schéma ou Metadata des tables, bases de données, colonnes d'une table, leurs types de données et HDFS mappage.

  3. HiveQL Process Engine: HiveQL est similaire à SQL pour l'interrogation d'informations de schéma sur Metastore. C'est l'un des remplacements de l'approche traditionnelle pour le programme MapReduce. Au lieu d'écrire MapReduce dans Java, nous pouvons écrire une requête pour MapReduce et la traiter.

  4. Exceution Engine: La partie conjonction de HiveQL moteur de processus et MapReduce est le Hive Moteur d'exécution. Le moteur d'exécution traite la requête et génère des résultats identiques à ceux de MapReduce results. Il utilise la saveur de MapReduce.

  5. HDFS ou HBase: Hadoop Système de fichiers distribué ou HBase sont les techniques de stockage de données permettant de stocker des données dans le système de fichiers.

3
Pankti

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

Maintenant, il faut connaître les deux termes:

  1. Données structurées: Ce sont les données que nous avons utilisées dans un SGBDR classique et qui sont divisées en structures bien définies.

  2. Données non structurées: Il est important de comprendre cela. Environ 80% des données mondiales sont non structurées ou semi-structurées. Ce sont les données qui sont sur sa forme brute et ne peuvent pas être traitées en utilisant RDMS. Exemple: facebook, données Twitter. ( http://www.dummies.com/how-to/content/unstructured-data-in-a-big-data-environment.html ).

Ainsi, une grande quantité de données a été générée ces 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 impossible à utiliser avec le SGBDR. Il présentait de nombreux inconvénients, car il ne pouvait pas être utilisé pour des données relativement petites en temps réel, mais ils ont réussi à supprimer ses inconvénients dans la nouvelle version.

Avant d’aller plus loin, je voudrais dire qu’un nouvel outil Big Data est créé lorsqu’ils constatent une défaillance des outils précédents. Donc, quel que soit l'outil que vous voyez qui est créé, cela a été fait pour résoudre le problème des outils précédents.

Hadoop peut être simplement dit comme deux choses: Mapreduce et 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 VER principal, c’est-à-dire écrire une fois lu plusieurs fois. Ainsi, une fois que nous avons stocké des données dans HDFS, nous ne pouvons plus apporter de modifications. Cela a conduit à la création de HBASE, un produit NOSQL dans lequel nous pouvons modifier les données même après les avoir écrites.

Mais avec le temps, nous avons vu que Hadoop avait de nombreux défauts et pour cela nous avons créé un environnement différent par rapport à la structure Hadoop. PIG et Hive sont deux exemples populaires.

Hive a été créé pour les personnes ayant SQL. Les requêtes écrites sont similaires à SQL appelé HIVEQL. Hive a été développé pour traiter complètement données structurées. Il n'est pas utilisé pour les données non structurées.

PIG a en revanche son propre langage de requête, à savoir PIG LATIN. Il peut être utilisé à la fois structuré ainsi que données non structurées.

Passons maintenant à la question de savoir quand utiliser 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

1
user4058730

Je crois que ce fil n'a pas rendu justice à HBase et à Pig en particulier. Bien que je pense que Hadoop est le choix du système de fichiers distribué et résilient pour la mise en œuvre de grands lacs de données, le choix entre HBase et Hive est particulièrement bien séparé.

Comme dans beaucoup de cas d’utilisation, il existe une exigence particulière d’interfaces de type SQL ou de type No-SQL. Avec Phoenix au-dessus de HBase, bien que des fonctionnalités similaires à SQL soient certainement réalisables, les performances, les intégrations tierces, la mise à jour des tableaux de bord sont une sorte d’expérience douloureuse. Cependant, c'est un excellent choix pour les bases de données nécessitant une mise à l'échelle horizontale.

Pig est en particulier excellent pour les lots non récursifs tels que les calculs ou les pipelines ETL (quelque part, où il surpasse Spark avec une distance confortable). En outre, ses implémentations de flux de données de haut niveau constituent un excellent choix pour les requêtes et les scripts par lots. Le choix entre Pig et Hive dépend également des besoins du script côté client ou serveur, des formats de fichiers requis, etc. Pig prend en charge le format de fichier Avro, ce qui n’est pas vrai dans le cas de Hive. Le choix entre "langage de flux de données procédural" et "langage de flux de données déclaratif" est également un argument de poids pour le choix entre pig et Hive.

0
user11768920

Nettoyer les données dans Pig est très facile, une approche appropriée serait de nettoyer les données via Pig, puis de traiter les données via Hive et de les télécharger ultérieurement au format hdfs.

0
Akshay Sharma

Pig: il est préférable de gérer les fichiers et les données de nettoyage, par exemple: suppression des valeurs nulles, traitement des chaînes, valeurs inutiles Hive: pour interroger des données nettoyées

0
y durga prasad

Permettez-moi d'essayer de répondre en quelques mots.

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

Voici mes quelques centimes:

  1. Hive: Si votre besoin est très SQLish, ce qui signifie que votre énoncé de problème peut être traité par SQL, alors la chose la plus simple à faire serait d'utiliser Hive. L'autre cas, lorsque vous utiliseriez Hive, est lorsque vous souhaitez qu'un serveur ait une certaine structure de données.
  2. Pig: Si vous êtes à l'aise avec Pig Latin et que vous avez besoin de davantage 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 & Pig en ce qui concerne les cas d'utilisation.
  3. MapReduce: Si votre problème ne peut pas être résolu en utilisant SQL directement, vous devez d'abord essayer de créer un fichier UDF pour Hive & Pig, puis si le fichier UDF ne résout pas le problème, il est logique de le faire via MapReduce. .
0
Sandeep Giri

1.Nous utilisons Hadoop pour stocker des données volumineuses (données de structure, Unstructure et Semistructure) dans le format de fichier de formulaire tel que txt, csv.

2.Si nous voulons des mises à jour en colonne dans nos données, nous utilisons l'outil Hbase.

3. Dans le cas de Hive, nous stockons des données volumineuses dans un format structuré et nous fournissons en outre une analyse de ces données.

4.Pig est un outil qui utilise la langue latine Pig pour analyser des données sous n'importe quel format (structure, structure et structure non structurées).

0
swaroop

Utilisation de Hive, Hbase et Pig w.r.t. mon expérience en temps réel dans différents projets.

La ruche est principalement utilisée pour:

  • Fonction d'analyse où vous devez effectuer une analyse sur les données de l'historique

  • Génération de rapports commerciaux basés sur certaines colonnes

  • Gérer efficacement les données avec les informations de métadonnées

  • Jointure de tables sur certaines colonnes fréquemment utilisées à l'aide du concept de compartiment

  • Stockage efficace et interrogation à l'aide du concept de partitionnement

  • Non utile pour les opérations au niveau de la transaction/de la ligne telles que la mise à jour, la suppression, etc.

Le porc est principalement utilisé pour:

  • Analyse fréquente de données sur des données volumineuses

  • Génération de valeurs/comptes agrégés sur des données volumineuses

  • Génération très fréquente d'indicateurs de performance clés au niveau de l'entreprise

Hbase est principalement utilisé:

  • Pour le traitement des données en temps réel

  • Pour gérer efficacement les schémas complexes et imbriqués

  • Pour une interrogation en temps réel et un résultat plus rapide

  • Pour une évolutivité facile avec les colonnes

  • Utile pour les opérations au niveau des transactions/lignes telles que la mise à jour, la suppression, etc.

0
user1326784

La réponse courte à cette question est -

Hadoop - Is Framework facilite les systèmes de fichiers distribués et les modèles de programmation, ce qui nous permet de stocker des données de très grande taille et de les traiter de manière distribuée de manière très efficace et avec un temps de traitement très réduit par rapport aux approches traditionnelles.

(HDFS - Système de fichiers distribués Hadoop) (Carte Réduire - Modèle de programmation pour le traitement distribué)

Hive - Est un langage de requête qui permet de lire/écrire des données à partir du système de fichiers distribué Hadoop selon un mode SQL très populaire. Cela simplifiait la vie de nombreuses personnes travaillant en arrière-plan, car elles ne sont plus obligées d'écrire le programme Map-Réduire, sauf dans des scénarios très complexes où Hive n'est pas pris en charge.

Hbase - Est une base de données Columnar NoSQL. La couche de stockage sous-jacente pour Hbase est à nouveau HDFS. Le cas d'utilisation le plus important pour cette base de données est de pouvoir stocker des milliards de lignes avec des millions de colonnes. La fonctionnalité de faible latence de Hbase permet un accès plus rapide et aléatoire des enregistrements aux données distribuées. Cette fonctionnalité est très importante pour les rendre utiles pour des projets complexes tels que les moteurs de recommandation. De plus, sa capacité de gestion des versions au niveau des enregistrements permet à l'utilisateur de stocker les données transactionnelles de manière très efficace (cela résout le problème de la mise à jour des enregistrements que nous avons avec HDFS et Hive).

J'espère que cela vous aidera à comprendre rapidement les 3 caractéristiques ci-dessus.

0
NoName