tutoriel - pourquoi hadoop




Quand utiliser Hadoop, HBase, Hive et Pig? (10)

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

D'après ce que je comprends, HBase évite d'utiliser map-reduce et a un stockage orienté colonne sur HDFS. Hive est une interface de type sql pour Hadoop et HBase .

J'aimerais aussi savoir comment Hive se compare avec Pig .


1. Nous utilisons Hadoop pour stocker des données volumineuses (données de structure, de structure et de semi-structure) dans le format de fichier de formulaire comme txt, csv.

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

3.Dans le cas de Hive, nous stockons des Big data qui sont dans un format structuré et en plus de cela nous fournissons des analyses sur ces données.

4.Pig est un outil qui utilise le langage latin Pig pour analyser des données de n'importe quel format (structure, semi-structure et déstructure).


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


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

Nous avons utilisé les technologies de l'écosystème Hadoop pour les applications ci-dessus.

Traitement en temps réel

Apache Storm: Stream Traitement des données, Application des règles

HBase: banque de données pour servir le tableau de bord en temps réel

Traitement par lots Hadoop: Crunch énorme morceau de données. Vue d'ensemble à 360 degrés ou ajout de contexte aux événements. Interfaces ou des cadres comme Pig, MR, Spark, Hive, Shark aider dans l'informatique. Cette couche nécessite un planificateur pour lequel Oozie est une bonne option.

Couche de gestion des événements

Apache Kafka était la première couche à consommer des événements à haute vélocité du capteur. Kafka sert à la fois le flux de données analytiques en temps réel et Batch via les connecteurs Linkedin.


Je suis un débutant à Hadoop, actuellement je travaille sur un projet avec Hadoop et Pig Latin. avec un peu d'expérience, je peux commenter Pig vs Hive.

Voici la comparaison:

  • Pig Latin est procédural, où Hive est déclarative.
  • Pig Latin permet aux développeurs de pipeline de décider où placer les données de point de contrôle dans le pipeline.
  • Pig Latin permet au développeur de sélectionner des implémentations d'opérateurs spécifiques directement plutôt que de se fier à l'optimiseur.
  • Pig Latin prend en charge les scissions dans le pipeline.
  • Pig Latin permet aux développeurs d'insérer leur propre code presque n'importe où dans le pipeline de données.

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

Pour en revenir à la première partie de votre question, Hadoop est fondamentalement 2 choses: un système de fichiers distribués (HDFS) + un cadre de calcul ou de traitement (MapReduce) . Comme tous les autres FS, HDFS nous fournit également du stockage, mais de manière tolérante aux pannes, avec un débit élevé et un risque de perte de données plus faible (à cause de la réplication). Mais, étant un FS, HDFS manque d' accès en lecture et en écriture aléatoire . C'est là que HBase entre en image. Il s'agit d'un grand magasin de données distribué, évolutif et basé sur le BigTable de Google. Il stocke les données en tant que paires clé / valeur.

Venir à Hive. Il nous fournit des installations d' entreposage de données au-dessus d'un cluster Hadoop existant. Parallèlement à cela, il fournit une interface de type SQL qui facilite votre travail, au cas où vous venez d'un arrière-plan SQL. Vous pouvez créer des tables dans Hive et y stocker des données. Parallèlement à cela, vous pouvez même mapper vos tables HBase existantes à Hive et opérer sur eux.

Alors que Pig est essentiellement un langage de flux de données qui nous permet de traiter d'énormes quantités de données très facilement et rapidement. Le cochon a essentiellement 2 parties: l' interprète de porc et la langue, PigLatin . Vous écrivez un script Pig dans PigLatin et utilisez l'interpréteur Pig pour les traiter. Le cochon rend notre vie beaucoup plus facile, sinon écrire MapReduce n'est pas toujours facile. En fait, dans certains cas, cela peut vraiment devenir une douleur.

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

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

HTH


Nettoyage des données dans le porc est très facile, une approche appropriée serait le nettoyage des données à travers le porc, puis le traitement des données à travers la ruche et plus tard, le téléchargement vers HDFS.


Pour une comparaison entre Hadoop vs Cassandra / HBase lire cet post .

Fondamentalement, HBase permet une lecture et une écriture vraiment rapides avec une évolutivité. À quelle vitesse et évolutif? Facebook utilise pour gérer ses statuts d'utilisateurs, ses photos, ses messages de discussion, etc. HBase est si rapide que des piles ont été développées par Facebook pour utiliser HBase comme magasin de données pour Hive lui-même.

Où As Hive ressemble plus à une solution Data Warehousing. Vous pouvez utiliser une syntaxe similaire à SQL pour interroger le contenu de Hive qui résulte en un travail de réduction de carte. Pas idéal pour les systèmes transactionnels rapides.


Tout d'abord, nous devrions nous assurer que Hadoop a été créé comme une alternative plus rapide au SGBDR . Pour traiter une grande quantité de données à un rythme très rapide, ce qui prenait beaucoup de temps dans le SGBDR.

Maintenant, il faut connaître les deux termes:

  1. Données structurées : Il s'agit des données que nous avons utilisées 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 que près de 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 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 une très grande quantité de données qui prend un temps irréalisable en utilisant le SGBDR. Il avait de nombreux inconvénients, qu'il ne pouvait pas être utilisé pour des données relativement petites en temps réel, mais il a réussi à supprimer ses inconvénients dans la version la plus récente.

Avant d'aller plus loin, je voudrais dire qu'un nouvel outil de Big Data est créé quand ils voient une faute sur les outils précédents. Donc, quel que soit l'outil que vous verrez qui a été créé a été fait pour surmonter 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 dans laquelle les données sont stockées. Cette structure a suivi le principe WORM c'est-à-dire écrire une fois lu plusieurs fois. Ainsi, une fois que nous avons stocké des données dans HDFS, nous ne pouvons pas apporter de modifications. Cela a conduit à la création de HBASE , un produit NOSQL où nous pouvons faire des changements dans les données aussi après l'avoir écrit une fois.

Mais avec le temps nous avons vu que Hadoop avait beaucoup de défauts et pour cela nous avons créé un environnement différent sur la structure Hadoop. PIG et HIVE sont deux exemples populaires.

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

D'un autre côté, PIG a son propre langage de requête: PIG LATIN . Il peut être utilisé à la fois pour des données structurées et non structurées .

Passer à la différence comme quand utiliser HIVE et quand utiliser PIG, je ne pense pas que quelqu'un d'autre que l'architecte de PIG pourrait dire. Suivez le lien: https://developer.yahoo.com/blogs/hadoop/comparing-pig-latin-sql-constructing-data-processing-pipelines-444.html


4 RAISONS D'UTILISER HADOOP POUR LA SCIENCE DES DONNÉES: ---

Au cours des dix dernières années, de grandes sociétés Web telles que Google, Yahoo !, Amazon et Facebook ont ​​appliqué avec succès de grands algorithmes d'apprentissage automatique sur de grands ensembles de données, créant des produits de données innovants tels que des systèmes de publicité en ligne.

Apache Hadoop devient rapidement un magasin central de données volumineuses dans l'entreprise et constitue donc une plate-forme naturelle grâce à laquelle l'entreprise peut désormais appliquer la science des données à divers problèmes métier tels que la recommandation de produits, la détection de fraude et l'analyse des sentiments.

En nous appuyant sur les modèles de Refine, Explore, Enrich que nous avons décrits dans notre livre blanc Hadoop Patterns of Use, passons en revue certaines des principales raisons d'utiliser Hadoop pour la science des données qui sont également capturées dans la présentation suivante:

[slideshare id = 18622467 & doc = pourquoihadoopfordatascience-130411110136-phpapp02]

RAISON 1: L'EXPLORATION DES DONNÉES AVEC LES DATASETS COMPLETS Les scientifiques de données aiment leur environnement de travail. Qu'ils utilisent R, SAS, Matlab ou Python, ils ont toujours besoin d'un ordinateur portable avec beaucoup de mémoire pour analyser les données et construire des modèles. Dans le monde des données volumineuses, la mémoire des ordinateurs portables n'est jamais suffisante, et parfois même pas proche.

Une approche courante consiste à utiliser un échantillon de l'ensemble de données volumineux, un échantillon volumineux pouvant tenir dans la mémoire. Avec Hadoop, vous pouvez maintenant exécuter de nombreuses tâches d'analyse de données exploratoires sur des ensembles de données complets, sans échantillonnage. Il suffit d'écrire un travail de réduction de la carte, un script PIG ou HIVE, de le lancer directement dans Hadoop sur l'ensemble de données complet et d'obtenir les résultats directement sur votre ordinateur portable.

RAISON 2: EXPLOITER LES GRANDS ENSEMBLES DE DONNEES Dans de nombreux cas, les algorithmes d'apprentissage automatique obtiennent de meilleurs résultats lorsqu'ils ont plus de données à apprendre, en particulier pour des techniques telles que la mise en grappe, la détection des valeurs aberrantes et les recommandateurs de produits.

Historiquement, les grands ensembles de données n'étaient pas disponibles ou trop chers à acquérir et à stocker, et les praticiens de l'apprentissage automatique devaient donc trouver des moyens novateurs d'améliorer les modèles avec des ensembles de données plutôt limités. Avec Hadoop en tant que plate-forme offrant une puissance de traitement et de stockage linéairement évolutive, vous pouvez désormais stocker TOUTES les données au format RAW et utiliser l'ensemble de données complet pour créer des modèles meilleurs et plus précis.

RAISON 3: PRÉ-TRAITEMENT À GRANDE ÉCHELLE DES DONNÉES BRUTES Comme le diront de nombreux scientifiques, 80% du travail en science des données consiste généralement en l'acquisition, la transformation, le nettoyage et l'extraction de données. Cette étape de "pré-traitement" transforme les données brutes en un format consommable par l'algorithme d'apprentissage automatique, typiquement sous la forme d'une matrice de caractéristiques.

Hadoop est une plate-forme idéale pour implémenter ce type de pré-traitement efficacement et de manière répartie sur de grands ensembles de données, en utilisant des outils de réduction de carte ou des outils comme PIG, HIVE et des langages de script comme Python. Par exemple, si votre application implique un traitement de texte, il est souvent nécessaire de représenter les données au format word-vector en utilisant TFIDF, ce qui implique de compter les fréquences des mots sur un grand corpus de documents.

De même, si votre application nécessite de joindre de grandes tables avec des milliards de lignes pour créer des vecteurs de caractéristiques pour chaque objet de données, HIVE ou PIG sont très utiles et efficaces pour cette tâche.

RAISON 4: AGILITÉ DES DONNÉES Il est souvent mentionné que Hadoop est un "schéma à lire", contrairement à la plupart des systèmes de SGBDR classiques qui requièrent une stricte définition du schéma avant que des données puissent y être introduites.

"Schema on read" crée "agilité des données": lorsqu'un nouveau champ de données est nécessaire, il n'est pas nécessaire de passer par un long projet de refonte de schéma et de migration de base de données en production, qui peut durer plusieurs mois. L'impact positif se répercute au sein d'une organisation et très rapidement, tout le monde veut utiliser Hadoop pour son projet, atteindre le même niveau d'agilité et obtenir un avantage concurrentiel pour son activité et sa gamme de produits.

RUCHE:---

Hive est un outil d'infrastructure d'entrepôt de données permettant de traiter des données structurées dans Hadoop. Il réside au-dessus de Hadoop pour résumer les données volumineuses et facilite l'interrogation et l'analyse.

SI VOUS NE CONNAISSEZ PAS PYTHON OU JAVA POUR AVOIR EFFECTUÉ LE CODE DE MAPREDUCE ... PUIS VOUS N'AVEZ PAS D'INQUIÉTUDE ... MAIS SI VOUS SAVEZ SQL, ALORS VOUS DEVRIEZ UTILISER LA RUCHE ... CE QUI EST ÉGALEMENT APPELÉ HIVEQL..POUR DES REQUÊTES DE GROS DATASETS ...

PORC:--

Pourquoi avons-nous besoin d'Apache Pig? Les programmeurs qui ne sont pas très doués en Java avaient normalement du mal à travailler avec Hadoop, en particulier lors de l'exécution de tâches MapReduce. Apache Pig est un avantage pour tous ces programmeurs.

En utilisant Pig Latin, les programmeurs peuvent effectuer des tâches MapReduce facilement sans avoir à taper des codes complexes en Java.

Apache Pig utilise une approche multi-requêtes, réduisant ainsi la longueur des codes. Par exemple, une opération qui nécessiterait de taper 200 lignes de code (LoC) en Java peut être facilement effectuée en tapant aussi peu que 10 LoC dans Apache Pig. En fin de compte, Apache Pig réduit le temps de développement de près de 16 fois.

Pig Latin est un langage similaire à SQL et il est facile d'apprendre Apache Pig quand vous êtes familier avec SQL.

Apache Pig fournit de nombreux opérateurs intégrés pour prendre en charge les opérations de données comme les jointures, les filtres, les commandes, etc. De plus, il fournit également des types de données imbriqués comme des tuples, des sacs et des mappes manquants dans MapReduce.

HBASE: -

Apache HBase est l'une des bases de données non relationnelles les plus populaires construites sur Hadoop et HDFS (système de fichiers distribué Hadoop). Il est également connu comme la base de données Hadoop. En tant que projet Apache, HBase est une base de données NoSQL open-source, versionnée et distribuée, écrite en langage Java. Il est construit sur les concepts Bigtable de Google. Apache HBase convient aux cas d'utilisation où vous avez besoin d'un accès en temps réel et en lecture / écriture aléatoire à d'énormes volumes de données (Big data). Lorsque HBase s'exécute sur HDFS, les performances dépendent également du support matériel. Nous devons fournir un nombre suffisant de nœuds (minimum 5) pour obtenir une meilleure performance.

Quelles sont les fonctionnalités de Hbase NoSQL DB? Apache HBase est une base de données orientée colonne qui prend en charge le schéma de base de données dynamique. Il fonctionne principalement sur le HDFS et prend en charge les travaux MapReduce. HBase prend également en charge d'autres langages de haut niveau pour le traitement des données. Jetons un coup d'oeil aux différentes caractéristiques de HBase:

Évolutivité: HBase prend en charge l'évolutivité à la fois linéaire et modulaire

Sharding: HBase prend en charge le sharding automatique des tables. Il est également configurable.

Stockage distribué : HBase prend en charge le stockage distribué comme HDFS

Cohérence : il prend en charge des opérations de lecture et d'écriture cohérentes

Prise en charge du basculement : HBase prend en charge le basculement automatique

Prise en charge de l'API: HBase prend en charge les API Java afin que les clients puissent y accéder facilement Prise en charge de MapReduce: HBase prend en charge MapReduce pour le traitement en parallèle de gros volumes de données

Sauvegarde: HBase prend en charge la sauvegarde des tâches Hadoop MapReduce dans les tables HBase Traitement en temps réel: il prend en charge le cache de bloc et les filtres Bloom. Ainsi, le traitement des requêtes en temps réel est facile


Comprendre en profondeur

Hadoop

Hadoop est un projet open source de la fondation Apache . C'est un framework écrit en Java , développé à l'origine par Doug Cutting en 2005. Il a été créé pour supporter 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 des quantités massives de données structurées, semi-structurées et non structurées à l'aide de matériel de base.
  2. Il n'a partagé aucune architecture.
  3. Il réplique ses données sur plusieurs ordinateurs, de sorte que si l'un d'eux tombe en panne, les données peuvent toujours être traitées à partir d'un autre ordinateur qui stocke sa réplique.
  4. Hadoop un haut débit plutôt qu'une faible latence. C'est une opération par lots traitant des quantités massives 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 bon 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 d'énormes fichiers de données et ensembles de données.

Versions de Hadoop

Il existe deux versions de Hadoop disponibles:

  1. Hadoop 1.0
  2. Hadoop 2.0

Hadoop 1.0

Il a deux parties principales:

1. Cadre de stockage de données

C'est un système de fichiers généraliste appelé Hadoop Distributed File System ( HDFS ).

HDFS est sans schéma

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

L'idée est de stocker des fichiers aussi proches de leur forme originale que possible.

Ceci fournit à son tour aux unités opérationnelles et à l'organisation la flexibilité et l'agilité dont elles ont tant besoin, sans être trop inquiète de ce qu'elles peuvent mettre en œuvre.

2. Cadre de traitement des données

C'est un modèle de programmation fonctionnelle simple initialement popularisé par Google sous le nom de MapReduce .

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

Les "Mappers" prennent en compte un ensemble de paires clé-valeur et génèrent des données intermédiaires (qui est 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 semblent fonctionner isolément les unes avec les autres, ce qui permet de répartir le traitement de manière hautement parallèle, avec tolérance aux pannes et évolutive.

Limitations de Hadoop 1.0

  1. La première limitation était l'exigence d'expertise en programmation MapReduce .

  2. Il ne prenait en charge que le traitement par lots qui, bien qu'il soit adapté à des tâches telles que l'analyse de journaux, les projets d'exploration de données à grande échelle, ne convient pas aux autres types de projets.

  3. Une limitation majeure était que Hadoop 1.0 était étroitement couplé à MapReduce , ce qui signifiait que les fournisseurs de gestion de données étaient laissés avec deux opinions:

    1. Réécrivez leur fonctionnalité dans MapReduce afin qu'elle puisse être exécutée dans Hadoop ou

    2. Extrait les données de HDFS ou les traite en dehors de Hadoop .

Aucune de ces options n'était viable, car elle entraînait des inefficacités de traitement causées par l'entrée et la sortie de données dans le cluster Hadoop .

Hadoop 2.0

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

Cependant, un nouveau cadre de gestion des ressources appelé Y et A reher N egotiater ( YARN ) a été ajouté.

Toute application capable de se diviser en tâches parallèles est supportée par YARN.

YARN coordonne l'attribution des sous-tâches de l'application soumise, améliorant ainsi la flexibilité, l'évolutivité et l'efficacité des applications.

Il fonctionne en ayant un maître d'application à la place de Job Tracker , exécutant des applications sur des ressources régies par le nouveau gestionnaire de noeud .

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

Cela signifie qu'il supporte non seulement le traitement par lots, mais aussi 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 natif. Aucune structure n'est imposée lors de la saisie de données ou du stockage de données. HDFS est moins 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ésilient à l'échec. Hadoop est la tolérance aux pannes. 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 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 n'importe quel type de données: structuré, non structuré ou semi-structuré. En outre, le traitement est extrêmement rapide dans Hadoop raison du paradigme «déplacer le code vers les données».

Hadoop Écosystème

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

HDFS : Système de fichiers distribué Hadoop . Il stocke simplement les fichiers de données aussi près que possible du formulaire original.

HBase : C'est la base de données de Hadoop et elle 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 à ANSI SQL standard ANSI SQL , ce qui implique que toute personne familière avec SQL devrait être en mesure d'accéder aux données sur un cluster Hadoop .

Pig : C'est un langage de flux de données facile à comprendre. Cela aide avec l'analyse de grands ensembles de données, ce qui est tout à fait l'ordre avec Hadoop . Pig 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 : C'est un système de gestion de workflow pour gérer les tâches Apache Hadoop .

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

Chukwa : C'est un système de collecte de données pour la gestion de grands systèmes distribués.

Sqoop : Il est utilisé pour transférer des données en masse 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 basé sur le Web pour provisionner, gérer et surveiller Hadoop clusters Hadoop .

Ruche

Hive est un outil d'infrastructure d'entrepôt de données permettant de traiter des données structurées dans Hadoop . Il réside au-dessus de Hadoop pour résumer les Big Data et faciliter la recherche et l'analyse.

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 des lignes.

Caractéristiques de Hive

  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 SQL type SQL pour l'interrogation appelée HiveQL ou HQL .

  4. C'est familier, rapide, évolutif et extensible.

Architecture de la ruche

Les composants suivants sont contenus dans l'architecture Hive:

  1. Interface utilisateur : Hive est une infrastructure d' data warehouse qui peut créer une interaction entre l'utilisateur et HDFS . Les interfaces utilisateur prenant en charge Hive sont l'interface utilisateur Web Hive, la ligne de commande Hive et Hive HD Insight (dans Windows Server).

  2. MetaStore : Hive choisit les servers database respectifs pour stocker le schéma ou les Metadata des tables, bases de données, colonnes dans une table, leurs types de données et le mappage HDFS .

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

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

  5. HDFS ou HBase : Hadoop Distributed File System ou HBase sont les techniques de stockage de données pour stocker des données dans un système de fichiers.





apache-pig