Quels sont les avantages de l' utilisation soit Hadoop ou HBase ou Ruche ?
D'après ce que je comprends, HBase évite d'utiliser la réduction de carte et dispose d'un stockage orienté colonne au-dessus de HDFS. Hive est une interface de type sql pour Hadoop et HBase .
J'aimerais également savoir comment Hive se compare à Pig .
hadoop
hbase
hive
apache-pig
Khalefa
la source
la source
Réponses:
MapReduce n'est qu'un cadre informatique . HBase n'a rien à voir avec cela. Cela dit, vous pouvez efficacement placer ou récupérer 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 gigantesques de données, donc cela 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 revenir à la première partie de votre question, Hadoop est essentiellement 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 moindre de perte de données (en raison de la réplication). Mais, étant un FS, HDFS n'a pas d' accès aléatoire en lecture et en écriture . C'est là qu'intervient HBase. Il s'agit d'un magasin Big Data distribué et évolutif , inspiré du BigTable de Google. Il stocke les données sous forme de 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 viendriez 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 les utiliser.
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. Pig est essentiellement composé de 2 parties: l' interpréteur de porc et la langue, PigLatin . Vous écrivez un script Pig dans PigLatin et utilisez l'interpréteur Pig pour les traiter. Pig nous rend la vie beaucoup plus facile, sinon écrire MapReduce n'est toujours pas 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 approfondie, mais une brève introduction à chacun de ces outils qui peut vous aider à démarrer. (Juste pour ajouter à ma réponse. Aucune promotion personnelle n'est prévue)
Les requêtes Hive et Pig sont converties en tâches MapReduce sous le capot.
HTH
la source
yarn
écosystème Hadoop :(.J'ai récemment implémenté une plateforme Hive Data dans mon entreprise et je peux en parler à la première personne puisque j'étais une équipe composée d'un seul homme.
Objectif
Options d'architecture
J'ai évalué les options suivantes:
Conception
Résumé
HBase est comme une carte. Si vous connaissez la clé, vous pouvez instantanément obtenir 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 pour Hbase seule.
Si vous avez des données qui doivent être agrégées, regroupées, analysées sur plusieurs lignes, envisagez Hive .
Espérons que cela aide.
La ruche est vraiment géniale ... Je sais, je la vis depuis 12 mois maintenant ... HBase aussi ...
la source
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.
Hadoop Common : les utilitaires communs qui prennent en charge les autres modules Hadoop.
Système de fichiers distribués Hadoop ( HDFS ™ ): un système de fichiers distribué qui fournit un accès haut débit aux données d'application.
Hadoop YARN : un cadre pour la planification des travaux et la gestion des ressources de cluster.
Hadoop MapReduce : un 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 l'opération d'écriture et de lecture. Par exemple, les données dans les systèmes SGBDR comme Oracle, MySQL Server, etc.
Non structuré : les données n'ont aucune structure et peuvent être de n'importe quelle forme - journaux de serveur Web, e-mails, images, etc.
Semi-structuré : les données ne sont pas strictement structurées mais ont une certaine structure. par exemple des fichiers XML.
Selon le type de données à traiter, nous devons choisir la bonne technologie.
Quelques autres projets, qui font partie de Hadoop:
HBase ™ : une base de données distribuée évolutive qui prend en charge le stockage de données structuré pour les grandes tables.
Hive ™: Une infrastructure d'entrepôt de données qui fournit une synthèse des données et des requêtes ad hoc.
Pig ™ : un langage de flux de données de haut niveau et un cadre d'exécution pour le calcul parallèle.
La comparaison Hive Vs PIG peut être trouvée dans cet article et mon autre article à cette question SE .
HBASE ne remplacera pas Map Reduce. HBase est une base de données distribuée évolutive et Map Reduce est un modèle de programmation pour le traitement distribué des données. Map Reduce peut agir sur les données dans HBASE lors du traitement.
Vous pouvez utiliser HIVE / HBASE pour des 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 la base de données SGBDR traditionnelle 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
Jetez un œil à: Cas d'utilisation Hadoop .
Hive doit être utilisé pour l'interrogation analytique des données collectées sur une période de temps. Par exemple, calculer les tendances, résumer les journaux du site Web, mais il ne peut pas être utilisé pour les requêtes en temps réel.
HBase convient pour l'interrogation en temps réel du Big Data. Facebook l'utilise pour la messagerie et les analyses en temps réel.
PIG peut être utilisé pour construire des flux de données, exécuter des tâches planifiées, traiter de gros volumes de données, les agréger / les résumer et les stocker dans des systèmes de base de données en relation. Bon pour une analyse ad hoc.
Hive peut être utilisé pour l'analyse de données ad hoc, mais il ne peut pas prendre en charge tous les formats de données non structurés contrairement à PIG.
la source
Considérez que vous travaillez avec le SGBDR et que vous devez sélectionner ce qu'il faut utiliser - analyses complètes de la table ou accès à l'index - mais un seul d'entre eux.
Si vous sélectionnez une analyse complète de la table, utilisez hive. Si l'accès à l'index - HBase.
la source
Pour une comparaison entre Hadoop Vs Cassandra / HBase, lisez cet article .
En gros, HBase permet une lecture et une écriture très rapides avec une évolutivité. À quelle vitesse et évolutivité? Facebook l' utilise pour gérer ses statuts d'utilisateur, ses photos, ses messages de chat, 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.
Where As Hive ressemble plus à une solution d'entreposage de données. Vous pouvez utiliser une syntaxe similaire à SQL pour interroger le contenu Hive, ce qui aboutit à une tâche de réduction de mappage. Pas idéal pour les systèmes transactionnels rapides.
la source
J'ai travaillé sur l'architecture Lambda traitant des charges en temps réel et par lots. 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 transactions bancaires. Le traitement par lots est nécessaire pour résumer 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: traitement des données en flux, application de règles
HBase: Datastore pour servir le tableau de bord en temps réel
Traitement par lots Hadoop: analyse d'énormes quantités de données. Vue d'ensemble à 360 degrés ou ajout de contexte aux événements. Des interfaces ou des frameworks comme Pig, MR, Spark, Hive, Shark aident à l'informatique. Cette couche a besoin d'un planificateur pour lequel Oozie est une bonne option.
Couche de gestion des événements
Apache Kafka était la première couche à consommer les événements à haute vitesse du capteur. Kafka sert à la fois le flux de données d'analyse en temps réel et par lots via des connecteurs Linkedin.
la source
Comprendre en profondeur
Hadoop
Hadoop
est un projet open source de laApache
fondation. Il s'agit d'un framework écritJava
, développé à l'origine par Doug Cutting en 2005. Il a été créé pour prendre en charge la distributionNutch
du moteur de recherche de texte.Hadoop
utilise lesMap Reduce
technologies de système de fichiers de Google et Google comme base.Caractéristiques de Hadoop
Hadoop
est pour un débit élevé plutôt qu'une faible latence. Il s'agit d'une opération par lots traitant d'énormes quantités de données; donc le temps de réponse n'est pas immédiat.RDBMS
.Versions de Hadoop
Il existe deux versions de
Hadoop
disponibles:Hadoop 1.0
Il comprend deux parties principales:
1. Cadre de stockage des données
Il s'agit d'un système de fichiers à usage général appelé Hadoop Distributed File System (
HDFS
).HDFS
est sans schémaIl 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 le plus près possible de leur forme d'origine.
Cela fournit à son tour aux unités commerciales et à l'organisation la flexibilité et l'agilité indispensables sans être trop préoccupés par ce qu'ils peuvent mettre en œuvre.
2. Cadre de traitement des données
Il s'agit d'un modèle de programmation fonctionnelle simple initialement popularisé par Google sous le nom de
MapReduce
.Il utilise essentiellement deux fonctions:
MAP
etREDUCE
pour traiter les données.Les "Mappers" prennent 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 fonctionnent apparemment de manière isolée l'une avec l'autre, 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.0
La première limite était l'exigence d'
MapReduce
une expertise en programmation.Il ne prenait en charge que le traitement par lots, ce qui, bien qu'adapté à des tâches telles que l'analyse de journaux, des projets d'exploration de données à grande échelle, mais qui ne convenait pas à d'autres types de projets.
Une limitation majeure était qu'il
Hadoop 1.0
était étroitement lié au calculMapReduce
, ce qui signifiait que les fournisseurs de gestion de données établis se retrouvaient avec deux opinions:Soit réécrivez leur fonctionnalité dans
MapReduce
afin qu'elle puisse être exécutée dansHadoop
ouExtraire des données
HDFS
ou les traiter en dehors deHadoop
.Aucune des options n'était viable car elle entraînait des inefficacités de processus causées par le transfert de données à l'intérieur et à l'extérieur du
Hadoop
cluster.Hadoop 2.0
Dans
Hadoop 2.0
,HDFS
continue d'être un cadre de stockage de données.Cependant, un nouveau cadre séparé de la gestion des ressources appelée Y et A utre R esource N egotiater ( YARN ) 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 davantage 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 nœuds .
ApplicationMaster est capable d'exécuter n'importe quelle application et pas seulement
MapReduce
.Cela signifie qu'il ne prend pas seulement en charge le traitement par lots, mais également le traitement en temps réel.
MapReduce
n'est plus la seule option de traitement des données.Avantages de Hadoop
Il stocke les données dans son format natif à partir de. Aucune structure n'est imposée lors de la saisie des données ou du stockage des données.
HDFS
est le schéma moins. Ce n'est que plus tard, lorsque les données doivent être traitées, que la structure s'impose aux données brutes.Il est évolutif.
Hadoop
peut stocker et distribuer de très grands ensembles de données sur des centaines de serveurs bon marché fonctionnant en parallèle.Il résiste à 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 également répliquées sur d'autres nœuds du cluster, garantissant ainsi qu'en cas de défaillance du nœud, il y aura toujours une autre copie des données disponibles.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 enHadoop
raison du paradigme «déplacer le code vers les données».Écosystème Hadoop
Voici les composants de l'
Hadoop
écosystème:HDFS :
Hadoop
système de fichiers distribué. Il stocke simplement les fichiers de données aussi près que possible du formulaire d'origine.HBase : C'est la base de données 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 familière avecSQL
devrait pouvoir accéder aux données sur unHadoop
cluster.Pig : C'est un langage de flux de données facile à comprendre. Cela aide à l'analyse de grands ensembles de données, ce qui est tout à fait dans l'ordre
Hadoop
.Pig
les scripts sont automatiquement convertis enMapReduce
jobs par l'Pig
interpréteur.ZooKeeper : C'est un service de coordination pour les applications distribuées.
Oozie : C'est un
schedular
système de workflow pour gérer lesHadoop
travaux Apache .Mahout : Il s'agit d'une bibliothèque évolutive d'apprentissage automatique et d'exploration de données.
Chukwa : C'est un système de collecte de données pour gérer un grand système distribué.
Sqoop : Il est utilisé pour transférer des données en masse entre
Hadoop
des magasins de données structurés tels que des bases de données relationnelles.Ambari : C'est un outil Web pour l'approvisionnement, la gestion et la surveillance des
Hadoop
clusters.Ruche
Hive
est un outil d'infrastructure d'entrepôt de données pour traiter des données structuréesHadoop
. Il s'agit deHadoop
résumer le Big Data et facilite les requêtes et l'analyse.Hive n'est pas
Une base de données relationnelle
Une conception pour le traitement des transactions en ligne (
OLTP
).Un langage pour les requêtes en temps réel et les mises à jour au niveau des lignes.
Caractéristiques de Hive
Il stocke le schéma dans la base de données et les données traitées dans
HDFS
.Il est conçu pour
OLAP
.Il fournit
SQL
un langage de type pour l'interrogation appeléHiveQL
ouHQL
.Il est familier, rapide, évolutif et extensible.
Architecture de la ruche
Les composants suivants sont contenus dans l'architecture Hive:
Interface utilisateur :
Hive
est unedata warehouse
infrastructure qui peut créer une interaction entre l'utilisateur etHDFS
. Les interfaces utilisateur quiHive
prennent en charge sont l'interface utilisateur Web Hive, la ligne de commande Hive et Hive HD Insight (dans Windows Server).MetaStore :
Hive
choisit respectivementdatabase
servers
de stocker le schéma ouMetadata
des tables, bases de données, colonnes dans une table, leurs types de données et leurHDFS
mappage.HiveQL Process Engine :
HiveQL
est similaire à celuiSQL
des requêtes sur les informations de schéma sur leMetastore
. C'est l'un des remplacements de l'approche traditionnelle duMapReduce
programme. Au lieu d'écrireMapReduce
dansJava
, nous pouvons écrire une requête pourMapReduce
et traiter.Exceution Engine : La partie de conjonction du
HiveQL
moteur de processus etMapReduce
est leHive
moteur d'exécution. Le moteur d'exécution traite la requête et génère des résultats identiques à ceux deMapReduce results
. Il utilise la saveur deMapReduce
.HDFS ou HBase :
Hadoop
Distributed File System ouHBase
sont les techniques de stockage de données pour stocker des données dans un système de fichiers.la source
Tout d'abord, nous devons comprendre que Hadoop a été créé comme une alternative plus rapide au SGBDR . Traiter une grande quantité de données à un rythme très rapide, ce qui prenait auparavant beaucoup de temps dans le SGBDR.
Maintenant, il faut connaître les deux termes:
Données structurées : ce sont les données que nous avons utilisées dans le SGBDR traditionnel et qui sont divisées en structures bien définies.
Données non structurées : Ceci est important à comprendre, 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 ne peuvent pas être traitées à l'aide du 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 a été 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 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 voient un défaut sur les outils précédents. Ainsi, quel que soit l'outil que vous verrez créé, il 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 où les données sont stockées. Cette structure suivait 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 apporter des modifications aux données même après les avoir écrites une fois.
Mais avec le temps, nous avons vu que Hadoop avait de nombreux 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 expérience SQL . Les requêtes écrites sont similaires au 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 structurées.
PIG d'autre part a son propre langage de requête, c'est-à-dire PIG LATIN . Il peut être utilisé aussi bien structuré ainsi que des données non structurées .
Passant à la différence entre quand utiliser HIVE et quand utiliser 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
la source
HDFS signifie Hadoop Distributed File System qui utilise le modèle de traitement informatique Map-Reduce.
HBase est un stockage clé-valeur, idéal pour la lecture et l'écriture en temps quasi réel.
Hive est utilisé pour l'extraction de données à partir du HDFS à l'aide d'une syntaxe de type SQL. Hive utilise le langage HQL.
Pig est un langage de flux de données pour créer ETL. C'est un langage de script.
la source
Laissez-moi 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:
la source
Pig: il vaut mieux gérer les fichiers et nettoyer les données exemple: suppression des valeurs nulles, gestion des chaînes, valeurs inutiles Hive: pour interroger les données nettoyées
la source
Nous utilisons Hadoop pour stocker des données volumineuses (données iestructure, non structurées et semi-structurées) au format de fichier de forme comme txt, csv.
2.Si nous voulons des mises à jour en colonnes dans nos données, nous utilisons l'outil Hbase
Dans le cas de Hive, nous stockons des Big data dans un format structuré et en plus de cela, nous fournissons une analyse sur ces données.
4.Pig est un outil qui utilise la langue latine Pig pour analyser des données dans n'importe quel format (structure, semi-structure et non-structure).
la source
Le nettoyage des données dans Pig est très simple, 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 plus tard sur hdfs.
la source
Utilisation de Hive, Hbase et Pig pour mon expérience en temps réel dans différents projets.
Hive est principalement utilisé pour:
Objectif d'analyse où vous devez effectuer une analyse sur les données d'historique
Générer des rapports d'activité basés sur certaines colonnes
Gérer efficacement les données avec les informations de métadonnées
Joindre des tables sur certaines colonnes fréquemment utilisées à l'aide du concept de compartimentage
Stockage et interrogation efficaces à l'aide du concept de partitionnement
Pas utile pour les opérations au niveau des transactions / lignes telles que la mise à jour, la suppression, etc.
Le porc est principalement utilisé pour:
Analyse fréquente des données sur des données volumineuses
Générer des valeurs / décomptes agrégés sur d'énormes données
Générer très fréquemment des indicateurs de performance clés au niveau de l'entreprise
L'Hbase est principalement utilisée:
Pour le traitement des données en temps réel
Pour une gestion efficace des schémas complexes et imbriqués
Pour des requêtes en temps réel et des résultats plus rapides
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.
la source
La réponse courte à cette question est -
Hadoop - Is Framework qui facilite le système de fichiers distribué et le modèle de programmation qui nous permettent de stocker des données de taille énorme et de traiter les données de manière distribuée très efficacement et avec un temps de traitement très réduit par rapport aux approches traditionnelles.
(HDFS - Système de fichiers distribués Hadoop) (Map Reduce - 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 dans un langage SQL très populaire. Cela a rendu la vie plus facile pour de nombreuses personnes non-programmantes car elles n'ont plus à écrire de programme Map-Reduce, sauf pour des scénarios très complexes où Hive n'est pas pris en charge.
Hbase - Est une base de données NoSQL en colonne. La couche de stockage sous-jacente pour Hbase est à nouveau HDFS. Le cas d'utilisation le plus important de cette base de données est de pouvoir stocker des milliards de lignes avec des millions de colonnes. La fonction de faible latence d'Hbase permet un accès plus rapide et aléatoire aux enregistrements sur les données distribuées, est une fonctionnalité très importante pour la rendre utile 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 des données transactionnelles très efficacement (cela résout le problème de la mise à jour des enregistrements que nous avons avec HDFS et Hive)
J'espère que cela sera utile pour comprendre rapidement les 3 fonctionnalités ci-dessus.
la source
Je crois que ce fil n'a pas rendu justice en particulier à HBase et Pig en particulier. Bien que je pense que Hadoop soit le choix du système de fichiers distribué et résilient pour les implémentations de Big Data Lake, le choix entre HBase et Hive est en particulier bien séparé.
Comme dans, de nombreux cas d'utilisation ont une exigence particulière d'interfaces de type SQL ou No-SQL. Avec Phoenix au-dessus de HBase, bien que des capacités de type SQL soient certainement réalisables, les performances, les intégrations tierces et la mise à jour du tableau de bord sont une sorte d'expériences douloureuses. 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 comme les calculs ou le pipelining ETL (quelque part, où il surpasse Spark par une distance confortable). En outre, ses implémentations de flux de données de haut niveau constituent un excellent choix pour les requêtes par lots et les scripts. Le choix entre Pig et Hive est également basé sur le besoin de scripts côté client ou serveur, les 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 du «langage de flux de données procédural» par rapport au «langage de flux de données déclaratif» est également un argument fort pour le choix entre le porc et la ruche.
la source