Was sind die Vorteile von entweder mit Hadoop oder HBase oder Hive ?
Nach meinem Verständnis vermeidet HBase die Verwendung von Map-Reduce und verfügt über einen spaltenorientierten Speicher über HDFS. Hive ist eine SQL-ähnliche Oberfläche für Hadoop und HBase .
Ich würde auch gerne wissen, wie Hive mit Pig verglichen wird .
hadoop
hbase
hive
apache-pig
Khalefa
quelle
quelle
Antworten:
MapReduce ist nur ein Computer-Framework . HBase hat nichts damit zu tun. Sie können jedoch Daten effizient in / aus HBase ablegen oder abrufen, indem Sie MapReduce-Jobs schreiben. Alternativ können Sie sequentielle Programme mit anderen HBase-APIs wie Java schreiben, um die Daten abzulegen oder abzurufen. Aber wir verwenden Hadoop, HBase usw., um mit riesigen Datenmengen umzugehen, was wenig Sinn macht. Die Verwendung normaler sequentieller Programme wäre äußerst ineffizient, wenn Ihre Daten zu groß sind.
Um auf den ersten Teil Ihrer Frage zurückzukommen: Hadoop besteht im Wesentlichen aus zwei Dingen: einem verteilten Dateisystem (HDFS) + einem Berechnungs- oder Verarbeitungsframework (MapReduce) . Wie alle anderen FS bietet auch HDFS Speicherplatz, jedoch fehlertolerant mit hohem Durchsatz und geringerem Risiko für Datenverlust (aufgrund der Replikation). Als FS fehlt HDFS jedoch der zufällige Lese- und Schreibzugriff . Hier kommt HBase ins Spiel. Es handelt sich um einen verteilten, skalierbaren Big-Data-Speicher , der dem BigTable von Google nachempfunden ist. Es speichert Daten als Schlüssel / Wert-Paare.
Kommen zu Hive. Es bietet uns Data Warehousing-Funktionen auf einem vorhandenen Hadoop-Cluster. Darüber hinaus bietet es eine SQL-ähnliche Oberfläche, die Ihnen die Arbeit erleichtert, falls Sie aus einem SQL-Hintergrund stammen. Sie können Tabellen in Hive erstellen und dort Daten speichern. Darüber hinaus können Sie Ihre vorhandenen HBase-Tabellen sogar Hive zuordnen und bearbeiten.
Während Pig im Grunde eine Datenflusssprache ist , die es uns ermöglicht, enorme Datenmengen sehr einfach und schnell zu verarbeiten. Pig besteht im Wesentlichen aus 2 Teilen: dem Pig Interpreter und der Sprache PigLatin . Sie schreiben ein Pig-Skript in PigLatin und verarbeiten es mit dem Pig-Interpreter. Schwein macht unser Leben viel einfacher, sonst ist das Schreiben von MapReduce immer nicht einfach. In einigen Fällen kann es sogar zu einem Schmerz werden.
Ich hatte vor einiger Zeit einen Artikel über einen kurzen Vergleich verschiedener Werkzeuge des Hadoop-Ökosystems geschrieben. Es handelt sich nicht um einen eingehenden Vergleich, sondern um eine kurze Einführung in jedes dieser Tools, die Ihnen den Einstieg erleichtern kann. (Nur um meine Antwort zu ergänzen. Keine Eigenwerbung beabsichtigt)
Sowohl Hive- als auch Pig-Abfragen werden unter der Haube in MapReduce-Jobs konvertiert.
HTH
quelle
yarn
Hadoop-Ökosystem zu sprechen :(.Ich habe kürzlich in meiner Firma eine Hive Data-Plattform implementiert und kann in der ersten Person mit ihr sprechen, da ich ein Ein-Mann-Team war.
Zielsetzung
Architekturoptionen
Ich habe die folgenden Optionen bewertet:
Design
Zusammenfassung
HBase ist wie eine Karte. Wenn Sie den Schlüssel kennen, können Sie den Wert sofort erhalten. Wenn Sie jedoch wissen möchten, wie viele Ganzzahlschlüssel in Hbase zwischen 1000000 und 2000000 liegen, ist dies nicht nur für Hbase geeignet .
Wenn Sie Daten haben, die aggregiert, aufgerollt und zeilenübergreifend analysiert werden müssen, ziehen Sie Hive in Betracht .
Hoffentlich hilft das.
Hive rockt tatsächlich ... Ich weiß, ich lebe es jetzt seit 12 Monaten ... HBase auch ...
quelle
Hadoop ist ein Framework, das die verteilte Verarbeitung großer Datenmengen über Computercluster mithilfe einfacher Programmiermodelle ermöglicht.
Es gibt vier Hauptmodule in Hadoop.
Hadoop Common : Die allgemeinen Dienstprogramme, die die anderen Hadoop-Module unterstützen.
Hadoop Distributed File System ( HDFS ™ ): Ein verteiltes Dateisystem, das Zugriff auf Anwendungsdaten mit hohem Durchsatz bietet.
Hadoop YARN : Ein Framework für die Jobplanung und die Verwaltung von Clusterressourcen .
Hadoop MapReduce : Ein YARN-basiertes System zur parallelen Verarbeitung großer Datenmengen.
Bevor wir fortfahren, stellen wir fest, dass wir drei verschiedene Arten von Daten haben.
Strukturiert : Strukturierte Daten haben ein starkes Schema und das Schema wird während des Schreib- und Lesevorgangs überprüft. zB Daten in RDBMS-Systemen wie Oracle, MySQL Server usw.
Unstrukturiert : Daten haben keine Struktur und können jede Form haben - Webserver-Protokolle, E-Mail, Bilder usw.
Halbstrukturiert : Daten sind nicht streng strukturiert, haben aber eine gewisse Struktur. zB XML-Dateien.
Je nach Art der zu verarbeitenden Daten müssen wir die richtige Technologie auswählen.
Einige weitere Projekte, die Teil von Hadoop sind:
HBase ™ : Eine skalierbare, verteilte Datenbank, die die strukturierte Datenspeicherung für große Tabellen unterstützt.
Hive ™: Eine Data Warehouse-Infrastruktur, die Datenzusammenfassung und Ad-hoc-Abfrage ermöglicht.
Pig ™ : Eine allgemeine Datenflusssprache und ein Ausführungsframework für die parallele Berechnung.
Hive Vs PIG Vergleich finden Sie in diesem Artikel und meinem anderen Beitrag in dieser SE- Frage .
HBASE ersetzt Map Reduce nicht. HBase ist eine skalierbare verteilte Datenbank und Map Reduce ist ein Programmiermodell für die verteilte Verarbeitung von Daten. Map Reduce kann bei der Verarbeitung auf Daten in HBASE einwirken.
Sie können HIVE / HBASE für strukturierte / halbstrukturierte Daten verwenden und mit Hadoop Map Reduce verarbeiten
Mit SQOOP können Sie strukturierte Daten aus der herkömmlichen RDBMS-Datenbank Oracle, SQL Server usw. importieren und mit Hadoop Map Reduce verarbeiten
Mit FLUME können Sie nicht strukturierte Daten verarbeiten und mit Hadoop Map Reduce verarbeiten
Schauen Sie sich an: Hadoop Use Cases .
Hive sollte zur analytischen Abfrage von Daten verwendet werden, die über einen bestimmten Zeitraum gesammelt wurden. zB Trends berechnen, Website-Protokolle zusammenfassen, aber es kann nicht für Echtzeit-Abfragen verwendet werden.
HBase eignet sich für die Echtzeitabfrage von Big Data. Facebook verwendet es für Messaging und Echtzeitanalysen.
PIG kann verwendet werden, um Datenflüsse zu erstellen, geplante Jobs auszuführen, große Datenmengen zu verarbeiten, zu aggregieren / zusammenzufassen und in Beziehungsdatenbanksystemen zu speichern. Gut für Ad-hoc-Analysen.
Hive kann für die Ad-hoc-Datenanalyse verwendet werden, unterstützt jedoch im Gegensatz zu PIG nicht alle unstrukturierten Datenformate.
quelle
Bedenken Sie, dass Sie mit RDBMS arbeiten und auswählen müssen, was verwendet werden soll - vollständige Tabellenscans oder Indexzugriff -, aber nur eine davon.
Wenn Sie den vollständigen Tabellenscan auswählen, verwenden Sie Hive. Wenn Indexzugriff - HBase.
quelle
Für einen Vergleich zwischen Hadoop und Cassandra / HBase lesen Sie diesen Beitrag .
Grundsätzlich ermöglicht HBase ein sehr schnelles Lesen und Schreiben mit Skalierbarkeit. Wie schnell und skalierbar? Facebook verwendet es, um seine Benutzerstatus, Fotos, Chat-Nachrichten usw. zu verwalten. HBase ist so schnell, dass Facebook manchmal Stapel entwickelt hat, um HBase als Datenspeicher für Hive selbst zu verwenden.
Where As Hive ähnelt eher einer Data Warehousing-Lösung. Sie können eine SQL-ähnliche Syntax verwenden, um Hive-Inhalte abzufragen, was zu einem Map Reduce-Job führt. Nicht ideal für schnelle Transaktionssysteme.
quelle
Ich habe an der Verarbeitung der Lambda-Architektur in Echtzeit und beim Laden von Stapeln gearbeitet. Eine Echtzeitverarbeitung ist erforderlich, wenn im Falle eines Feueralarms, der per Sensor gesendet wird, oder bei Betrugsfällen bei Bankgeschäften schnelle Entscheidungen getroffen werden müssen. Die Stapelverarbeitung ist erforderlich, um Daten zusammenzufassen, die in BI-Systeme eingespeist werden können.
Wir haben Hadoop- Ökosystemtechnologien für die oben genannten Anwendungen verwendet.
Echtzeitverarbeitung
Apache Storm: Stream-Datenverarbeitung, Regelanwendung
HBase: Datenspeicher für die Bereitstellung des Echtzeit-Dashboards
Stapelverarbeitung Hadoop: Knirschen großer Datenmengen. 360-Grad-Übersicht oder Hinzufügen von Kontext zu Ereignissen. Schnittstellen oder Frameworks wie Pig, MR, Spark, Hive und Shark helfen beim Rechnen. Diese Ebene benötigt einen Scheduler, für den Oozie eine gute Option ist.
Ebene für die Ereignisbehandlung
Apache Kafka war die erste Schicht, die Hochgeschwindigkeitsereignisse vom Sensor verbrauchte. Kafka dient sowohl dem Echtzeit- als auch dem Batch-Analysedatenfluss über Linkedin-Konnektoren.
quelle
Tiefe verstehen
Hadoop
Hadoop
ist ein Open Source Projekt derApache
Stiftung. Es handelt sich um ein FrameworkJava
, das ursprünglich von Doug Cutting im Jahr 2005 entwickelt wurde. Es wurde erstellt, um die Verteilung fürNutch
die Textsuchmaschine zu unterstützen .Hadoop
verwendet GoogleMap Reduce
Technologien von und Google File System als Grundlage.Eigenschaften von Hadoop
Hadoop
ist eher für hohen Durchsatz als für niedrige Latenz. Es handelt sich um eine Stapeloperation, die große Datenmengen verarbeitet. Daher ist die Reaktionszeit nicht unmittelbar.RDBMS
.Versionen von Hadoop
Es stehen zwei Versionen zur
Hadoop
Verfügung:Hadoop 1.0
Es besteht aus zwei Hauptteilen:
1. Datenspeicher-Framework
Es ist ein universelles Dateisystem namens Hadoop Distributed File System (
HDFS
).HDFS
ist schemalosEs speichert einfach Datendateien und diese Datendateien können in nahezu jedem Format vorliegen.
Die Idee ist, Dateien so nah wie möglich an ihrer ursprünglichen Form zu speichern.
Dies wiederum bietet den Geschäftsbereichen und der Organisation die dringend benötigte Flexibilität und Agilität, ohne sich übermäßig Sorgen darüber zu machen, was sie implementieren können.
2. Datenverarbeitungs-Framework
Dies ist ein einfaches funktionales Programmiermodell, das ursprünglich von Google als populär gemacht wurde
MapReduce
.Es verwendet im Wesentlichen zwei Funktionen:
MAP
undREDUCE
zum Verarbeiten von Daten.Die "Mapper" nehmen eine Reihe von Schlüssel-Wert-Paaren auf und generieren Zwischendaten (eine weitere Liste von Schlüssel-Wert-Paaren).
Die "Reduzierer" wirken dann auf diesen Eingang, um die Ausgangsdaten zu erzeugen.
Die beiden Funktionen arbeiten scheinbar isoliert miteinander, sodass die Verarbeitung hochparallel, fehlertolerant und skalierbar hochverteilt werden kann.
Einschränkungen von Hadoop 1.0
Die erste Einschränkung war das Erfordernis von
MapReduce
Programmierkenntnissen.Es wurde nur die Stapelverarbeitung unterstützt, die zwar für Aufgaben wie Protokollanalyse, große Data Mining-Projekte geeignet, für andere Arten von Projekten jedoch ziemlich ungeeignet ist.
Eine wesentliche Einschränkung bestand darin, dass
Hadoop 1.0
eine enge rechnerische Verknüpfung bestandMapReduce
, was bedeutete, dass die etablierten Datenverwaltungsanbieter zwei Meinungen hatten:Schreiben Sie entweder ihre Funktionalität neu,
MapReduce
damit sie inHadoop
oder ausgeführt werden kannExtrahieren Sie Daten aus
HDFS
oder verarbeiten Sie sie außerhalb vonHadoop
.Keine der Optionen war realisierbar, da dies zu Prozessineffizienzen führte, die durch das Verschieben von Daten in den
Hadoop
Cluster und aus dem Cluster verursacht wurden.Hadoop 2.0
In
Hadoop 2.0
,HDFS
weiterhin Datenspeicher Rahmen sein.Jedoch ist ein neuer und separater Rahmen Ressourcenverwaltung genannt Y et A nother R esource N egotiater ( YARN wurde) hinzugefügt.
Jede Anwendung, die sich in parallele Aufgaben aufteilen kann, wird von YARN unterstützt.
YARN koordiniert die Zuweisung von Unteraufgaben der eingereichten Bewerbung und verbessert so die Flexibilität, Skalierbarkeit und Effizienz der Bewerbungen.
Es funktioniert, indem anstelle von Job Tracker ein Anwendungsmaster vorhanden ist , der Anwendungen auf Ressourcen ausführt, die vom neuen Knotenmanager verwaltet werden .
ApplicationMaster kann jede Anwendung ausführen und nicht nur
MapReduce
.Dies bedeutet, dass nicht nur die Stapelverarbeitung, sondern auch die Echtzeitverarbeitung unterstützt wird.
MapReduce
ist nicht mehr die einzige Datenverarbeitungsoption.Vorteile von Hadoop
Es speichert Daten in seinem nativen von. Beim Eingeben von Daten oder Speichern von Daten wird keine Struktur festgelegt.
HDFS
ist Schema weniger. Erst später, wenn die Daten verarbeitet werden müssen, wird die Struktur den Rohdaten auferlegt.Es ist skalierbar.
Hadoop
kann sehr große Datenmengen auf Hunderten von kostengünstigen Servern speichern und verteilen, die parallel arbeiten.Es ist widerstandsfähig gegen Ausfälle.
Hadoop
ist Fehlertoleranz. Die Replikation von Daten wird sorgfältig durchgeführt, dh, wenn Daten an einen Knoten gesendet werden, werden dieselben Daten auch auf andere Knoten im Cluster repliziert, wodurch sichergestellt wird, dass im Falle eines Knotenausfalls immer eine weitere Kopie der Daten zur Verwendung verfügbar ist.Es ist flexibel. Einer der Hauptvorteile von
Hadoop
ist, dass es mit jeder Art von Daten arbeiten kann: strukturiert, unstrukturiert oder halbstrukturiert. Außerdem ist die VerarbeitungHadoop
aufgrund des Paradigmas "Code in Daten verschieben" extrem schnell .Hadoop-Ökosystem
Im Folgenden sind die Komponenten des
Hadoop
Ökosystems aufgeführt:HDFS :
Hadoop
Verteiltes Dateisystem. Es speichert einfach Datendateien so nah wie möglich am Originalformular.HBase : Es ist die Datenbank von Hadoop und lässt sich gut mit einer vergleichen
RDBMS
. Es unterstützt die strukturierte Datenspeicherung für große Tabellen.Hive : Ermöglicht die Analyse großer Datenmengen in einer Sprache
ANSI SQL
, die dem Standard sehr ähnlich ist. Dies bedeutet, dass jeder, mit dem er vertrautSQL
ist, auf Daten in einemHadoop
Cluster zugreifen kann .Schwein : Es ist eine leicht verständliche Datenflusssprache. Es hilft bei der Analyse großer Datenmengen, was durchaus in Ordnung ist
Hadoop
.Pig
Skripte werdenMapReduce
vomPig
Interpreter automatisch in Jobs konvertiert .ZooKeeper : Es ist ein Koordinierungsdienst für verteilte Anwendungen.
Oozie : Es ist ein Workflow-
schedular
System zum Verwalten von Apache-Hadoop
Jobs.Mahout : Es ist eine skalierbare Bibliothek für maschinelles Lernen und Data Mining.
Chukwa : Es ist ein Datenerfassungssystem zur Verwaltung großer verteilter Systeme.
Sqoop : Es wird verwendet, um Massendaten zwischen
Hadoop
und strukturierten Datenspeichern wie relationalen Datenbanken zu übertragen.Ambari : Es ist ein webbasiertes Tool zum Bereitstellen, Verwalten und Überwachen von
Hadoop
Clustern.Bienenstock
Hive
ist ein Data Warehouse-Infrastruktur-Tool zur Verarbeitung strukturierter DatenHadoop
. Es basiert auf derHadoop
Zusammenfassung von Big Data und erleichtert das Abfragen und Analysieren.Bienenstock ist nicht
Eine relationale Datenbank
Ein Design für die Online-Transaktionsverarbeitung (
OLTP
).Eine Sprache für Echtzeitabfragen und Aktualisierungen auf Zeilenebene.
Eigenschaften von Hive
Es speichert das Schema in der Datenbank und verarbeitet Daten in
HDFS
.Es ist für ausgelegt
OLAP
.Es bietet eine
SQL
Typensprache für die Abfrage mit dem NamenHiveQL
oderHQL
.Es ist familiärer, schneller, skalierbarer und erweiterbarer.
Hive-Architektur
Die folgenden Komponenten sind in Hive Architecture enthalten:
Benutzeroberfläche :
Hive
ist einedata warehouse
Infrastruktur, die eine Interaktion zwischen Benutzer und Benutzer herstellen kannHDFS
. Die unterstützten BenutzeroberflächenHive
sind Hive Web UI, Hive Command Line und Hive HD Insight (unter Windows Server).MetaStore :
Hive
wählt jeweilsdatabase
servers
das Speichern des Schemas oderMetadata
von Tabellen, Datenbanken, Spalten in einer Tabelle, deren Datentypen undHDFS
Zuordnung.HiveQL Process Engine :
HiveQL
ähnelt derSQL
Abfrage von Schemainformationen auf derMetastore
. Es ist einer der Ersatz für den traditionellenMapReduce
Programmansatz. Statt des SchreibensMapReduce
inJava
, können wir eine Abfrage für schreibenMapReduce
und sie verarbeiten.Exceution Engine : Der Verbindungsteil der
HiveQL
Process Engine undMapReduce
ist dieHive
Execution Engine. Die Execution Engine verarbeitet die Abfrage und generiert die gleichen Ergebnisse wieMapReduce results
. Es verwendet den Geschmack vonMapReduce
.HDFS oder HBase :
Hadoop
Distributed File System oderHBase
sind die Datenspeichertechniken zum Speichern von Daten im Dateisystem.quelle
Zunächst sollten wir uns darüber im Klaren sein, dass Hadoop als schnellere Alternative zu RDBMS entwickelt wurde . Die Verarbeitung großer Datenmengen mit einer sehr schnellen Rate, die früher in RDBMS viel Zeit in Anspruch nahm.
Jetzt sollte man die beiden Begriffe kennen:
Strukturierte Daten : Dies sind die Daten, die wir in herkömmlichen RDBMS verwendet haben und die in genau definierte Strukturen unterteilt sind.
Unstrukturierte Daten : Dies ist wichtig zu verstehen, dass etwa 80% der Weltdaten unstrukturiert oder halbstrukturiert sind. Dies sind die Daten, die sich in ihrer Rohform befinden und nicht mit RDMS verarbeitet werden können. Beispiel: Facebook, Twitter Daten. ( http://www.dummies.com/how-to/content/unstructured-data-in-a-big-data-environment.html ).
Daher wurde in den letzten Jahren eine große Datenmenge generiert, und die Daten waren größtenteils unstrukturiert, wodurch HADOOP entstand. Es wurde hauptsächlich für sehr große Datenmengen verwendet, die mit RDBMS nicht realisierbar sind. Es hatte viele Nachteile, dass es nicht für vergleichsweise kleine Daten in Echtzeit verwendet werden konnte, aber es ist ihnen gelungen, seine Nachteile in der neueren Version zu beseitigen.
Bevor ich fortfahre, möchte ich sagen, dass ein neues Big-Data-Tool erstellt wird, wenn bei den vorherigen Tools ein Fehler auftritt. Unabhängig davon, welches Tool erstellt wird, wurde das Problem der vorherigen Tools behoben.
Hadoop kann einfach als zwei Dinge gesagt werden: Mapreduce und HDFS . In Mapreduce findet die Verarbeitung statt, und in HDFS werden die Daten gespeichert. Diese Struktur folgte dem WORM- Prinzip, dh einmal mehrfach lesen. Sobald wir Daten in HDFS gespeichert haben, können wir keine Änderungen mehr vornehmen. Dies führte zur Schaffung von HBASE , einem NOSQL-Produkt, bei dem wir Änderungen an den Daten auch nach einmaligem Schreiben vornehmen können.
Aber mit der Zeit haben wir gesehen, dass Hadoop viele Fehler hatte und dafür haben wir eine andere Umgebung über die Hadoop-Struktur geschaffen. PIG und HIVE sind zwei beliebte Beispiele.
HIVE wurde für Personen mit SQL- Hintergrund erstellt. Die geschriebenen Abfragen ähneln SQL mit dem Namen HIVEQL . HIVE wurde entwickelt, um vollständig strukturierte Daten zu verarbeiten . Es wird nicht für strukturierte Daten verwendet.
PIG hingegen hat eine eigene Abfragesprache, dh PIG LATIN . Es kann sowohl für strukturierte als auch für unstrukturierte Daten verwendet werden .
Ich denke, niemand anders als der Architekt von PIG könnte sagen, wann man HIVE und wann PIG einsetzt. Folgen Sie dem Link: https://developer.yahoo.com/blogs/hadoop/comparing-pig-latin-sql-constructing-data-processing-pipelines-444.html
quelle
HDFS steht für Hadoop Distributed File System, das das Computational Processing Model Map-Reduce verwendet.
HBase ist ein Schlüsselwertspeicher, der nahezu in Echtzeit zum Lesen und Schreiben geeignet ist.
Hive wird für die Datenextraktion aus dem HDFS mithilfe einer SQL-ähnlichen Syntax verwendet. Hive verwenden HQL-Sprache.
Pig ist eine Datenflusssprache zum Erstellen von ETL. Es ist eine Skriptsprache.
quelle
Lassen Sie mich versuchen, in wenigen Worten zu antworten.
Hadoop ist ein Ökosystem, das alle anderen Werkzeuge umfasst. Sie können Hadoop also nicht vergleichen, aber Sie können MapReduce vergleichen.
Hier sind meine paar Cent:
quelle
Schwein: Es ist besser, Dateien zu verarbeiten und Daten zu bereinigen. Beispiel: Entfernen von Nullwerten, Behandeln von Zeichenfolgen, unnötige Werte. Hive: Zum Abfragen bereinigter Daten
quelle
1.Wir verwenden Hadoop zum Speichern großer Datenmengen (iestructure-, Unstructure- und Semistructure-Daten) im Formulardateiformat wie txt, csv.
2.Wenn wir Spaltenaktualisierungen in unseren Daten wünschen, verwenden wir das Hbase-Tool
3. Im Fall von Hive speichern wir Big Data in strukturiertem Format und bieten zusätzlich eine Analyse dieser Daten an.
4.Pig ist ein Tool, das die lateinische Sprache Pig verwendet, um Daten in jedem Format (Struktur, Semistruktur und Unstruktur) zu analysieren.
quelle
Das Bereinigen von Daten in Pig ist sehr einfach. Ein geeigneter Ansatz wäre, Daten über Pig zu bereinigen und dann Daten über Hive zu verarbeiten und später auf HDFS hochzuladen.
quelle
Die Verwendung von Hive, Hbase und Pig für meine Echtzeiterfahrung in verschiedenen Projekten.
Hive wird hauptsächlich verwendet für:
Analysezweck, bei dem Sie eine Analyse der Verlaufsdaten durchführen müssen
Generieren von Geschäftsberichten basierend auf bestimmten Spalten
Effiziente Verwaltung der Daten zusammen mit Metadateninformationen
Verknüpfen von Tabellen in bestimmten Spalten, die häufig mithilfe des Bucketing-Konzepts verwendet werden
Effizientes Speichern und Abfragen mithilfe des Partitionierungskonzepts
Nicht nützlich für Operationen auf Transaktions- / Zeilenebene wie Aktualisieren, Löschen usw.
Schwein wird hauptsächlich verwendet für:
Häufige Datenanalyse für große Datenmengen
Generieren aggregierter Werte / Zählungen für große Datenmengen
Generieren von Leistungsindikatoren auf Unternehmensebene sehr häufig
Hbase wird meistens verwendet:
Zur Echtzeitverarbeitung von Daten
Zur effizienten Verwaltung komplexer und verschachtelter Schemata
Für Echtzeitabfragen und schnellere Ergebnisse
Für einfache Skalierbarkeit mit Spalten
Nützlich für Operationen auf Transaktions- / Zeilenebene wie Aktualisieren, Löschen usw.
quelle
Kurze Antwort auf diese Frage lautet -
Hadoop - ist ein Framework, das ein verteiltes Dateisystem und ein Programmiermodell ermöglicht, mit denen wir Daten mit großer Größe speichern und Daten auf verteilte Weise sehr effizient und mit sehr viel weniger Verarbeitungszeit verarbeiten können als mit herkömmlichen Ansätzen.
(HDFS - Hadoop Distributed File System) (Map Reduce - Programmiermodell für die verteilte Verarbeitung)
Hive - Ist eine Abfragesprache, die das Lesen / Schreiben von Daten aus dem verteilten Hadoop-Dateisystem in einer sehr beliebten SQL-ähnlichen Weise ermöglicht. Dies erleichterte vielen Nicht-Programmierern das Leben, da sie kein Map-Reduce-Programm mehr schreiben müssen, außer in sehr komplexen Szenarien, in denen Hive nicht unterstützt wird.
Hbase - Ist eine kolumnare NoSQL-Datenbank. Die zugrunde liegende Speicherschicht für Hbase ist wieder HDFS. Der wichtigste Anwendungsfall für diese Datenbank besteht darin, Milliarden von Zeilen mit Millionen von Spalten speichern zu können. Die Funktion mit geringer Latenz von Hbase ermöglicht einen schnelleren und zufälligen Zugriff auf Datensätze über verteilte Daten. Dies ist eine sehr wichtige Funktion, um sie für komplexe Projekte wie Recommender Engines nützlich zu machen. Dank der Versionierungsfunktion auf Datensatzebene können Benutzer Transaktionsdaten sehr effizient speichern (dies löst das Problem der Aktualisierung von Datensätzen mit HDFS und Hive).
Hoffe, dies ist hilfreich, um die oben genannten 3 Funktionen schnell zu verstehen.
quelle
Ich glaube, dieser Thread wurde HBase und Pig nicht besonders gerecht. Während ich glaube, dass Hadoop die Wahl des verteilten, ausfallsicheren Dateisystems für Big-Data-Lake-Implementierungen ist, ist die Wahl zwischen HBase und Hive besonders gut getrennt.
Wie in vielen Anwendungsfällen werden bestimmte Anforderungen an SQL-ähnliche oder No-SQL-ähnliche Schnittstellen gestellt. Mit Phoenix auf HBase, obwohl SQL-ähnliche Funktionen sicherlich erreichbar sind, sind die Leistung, die Integration von Drittanbietern und das Dashboard-Update eine Art schmerzhafte Erfahrungen. Es ist jedoch eine ausgezeichnete Wahl für Datenbanken, die eine horizontale Skalierung erfordern.
Schwein eignet sich besonders für nicht rekursive Chargen wie Berechnungen oder ETL-Pipelining (irgendwo, wo es Spark um einen angenehmen Abstand übertrifft). Darüber hinaus sind die Datenflussimplementierungen auf hoher Ebene eine ausgezeichnete Wahl für die Stapelabfrage und Skripterstellung. Die Wahl zwischen Pig und Hive hängt auch von den Anforderungen des clientseitigen oder serverseitigen Skripts, den erforderlichen Dateiformaten usw. ab. Pig unterstützt das Avro-Dateiformat, das im Fall von Hive nicht der Fall ist. Die Wahl zwischen "prozeduraler Datenflusssprache" und "deklarativer Datenflusssprache" ist auch ein starkes Argument für die Wahl zwischen Schwein und Bienenstock.
quelle