Grundlegende Trockenwaren | Hbase Einführung und detaillierte Datenstruktur und Tabelle

Hinweis: Der Inhalt dieses Artikels ist ein Auszug aus dem neuen Buch "Verteiltes maschinelles Lernen in Aktion" (Reihe für Wissenschaft und Technologie der künstlichen Intelligenz) [herausgegeben von Chen Jinglei] [Tsinghua University Press] von Herrn Chen Jinglei, Gründer, CEO und CTO des Ladens .

Vorwort

Hbase wird häufig zum Speichern von Echtzeitdaten verwendet. Beispielsweise werden Protokolldaten zum Verbraucherverhalten von Storm / Flink / Spark-Streaming in Hbase verarbeitet und gespeichert. Sie können auch über die Hbase-API in Millisekunden abgefragt werden. Wenn Offline-Datenstatistiken für Hbase nicht in Echtzeit erstellt werden sollen, können wir über Hive eine Zuordnungstabelle zu Hbase erstellen und dann Hive SQL schreiben, um statistische Analysen für Hbase-Daten durchzuführen. Auf diese Weise ist es bequem, verwandte Abfragen mit anderen Hive-Tabellen durchzuführen und komplexere Statistiken zu erstellen. Daher erfüllt Hbase Echtzeit- und Offline-Anwendungsszenarien aus der interaktiven Situation und ist auch in Internetunternehmen sehr verbreitet.

Hbase-Prinzip und Funktionseinführung

HBase ist eine verteilte, spaltenorientierte Open-Source-Datenbank. Die Technologie stammt aus dem Google-Artikel "Bigtable: Ein verteiltes Speichersystem für strukturierte Daten" von Fay Chang. So wie Bigtable den verteilten Datenspeicher nutzt, der vom Google-Dateisystem (Dateisystem) bereitgestellt wird, bietet HBase ähnliche Funktionen wie Bigtable auf Hadoop. HBase ist ein Teilprojekt von Apaches Hadoop-Projekt. HBase unterscheidet sich von der allgemeinen relationalen Datenbank, es ist eine Datenbank, die für die unstrukturierte Datenspeicherung geeignet ist. Ein weiterer Unterschied besteht darin, dass HBase eher spaltenbasiert als zeilenbasiert ist.

1. Hbase-Funktionen

1) HBase basiert auf HDFS
HBase ist ein auf HDFS basierendes verteiltes Spaltenspeichersystem, das Hbase-Daten über Hive abfragen kann.
2) HBase ist ein Schlüssel- / Wertesystem
HBase wurde basierend auf dem Google BigTable-Modell entwickelt, einem typischen Schlüssel- / Wertesystem.
3) HBase wird für die massive Speicherung strukturierter Daten verwendet
HBase ist ein wichtiges Mitglied des Apache Hadoop-Ökosystems und wird hauptsächlich für die Speicherung massiver strukturierter Daten verwendet.
4) Verteilter Speicher
HBase speichert Daten in Tabellen, Zeilen und Spalten. Wie bei Hadoop beruht das Ziel von Hbase hauptsächlich auf der horizontalen Erweiterung, der Steigerung der Rechen- und Speicherkapazitäten durch das kontinuierliche Hinzufügen billiger kommerzieller Server.
5) Hbase-Tabelle und -Spalten sind groß
Hbase-Tabelle hat große Eigenschaften: Eine Tabelle kann Milliarden von Zeilen und Millionen von Spalten enthalten.
6) Kein Schema.
Jede Zeile verfügt über einen sortierbaren Primärschlüssel und eine beliebige Anzahl von Spalten. Die Spalten können nach Bedarf dynamisch hinzugefügt werden. Verschiedene Zeilen in derselben Tabelle können völlig unterschiedliche Spalten haben, was mit relationalen MySQL-Datenbanken nicht möglich ist.
7) Spaltenorientierte
Speicherung und Berechtigungskontrolle für Spalten (Familien), spaltenunabhängiges Abrufen von Spalten (Familien); dünn: Leere (Null) Spalte belegt keinen Speicherplatz. Die Tabelle kann so gestaltet werden, dass sie sehr dünn ist.
8) Mehrere Versionen
von Daten Die Daten in jeder Zelle können mehrere Versionen haben. Der Standardwert sind 3 Versionen. Dies sind die Zeitstempel beim Einfügen der Zelle.

2. Die Kernkomponenten der Hbase-Architektur

Zu den Kernkomponenten der Hbase-Architektur gehören Client, Hmaster, HRegionServer, ZooKeeper-Cluster ist ein Koordinationssystem usw. Der Kern ist Hmaster, HRegionServer, Hmaster ist der Masterknoten von Hbase und HRegionServer ist der Slave-Knoten. Hbase muss vom ZooKeeper-Cluster abhängen.
1) Der Client
greift auf die Schnittstelle von HBase zu und verwaltet den Cache, um den Zugriff auf HBase zu beschleunigen, z. B. die Standortinformationen der Region.
2) Hmaster
(1) Verwalten von HRegionServer, um den Lastausgleich zu erreichen;
(2) Verwalten und Zuweisen von HRegion, z. B. Zuweisen einer neuen HRegion beim Aufteilen von HRegion; Migrieren der HRegion zu einem anderen HRegionServer beim Beenden von HRegionServer;
(3) Realisieren von DDL-Vorgängen (Daten) Definition Hinzufügung von Sprache, Namespace und Tabelle, Löschungen und Änderungen, Hinzufügung von Spaltenfamilien, Löschungen und Änderungen usw.)
(4) Verwaltung von Namespace- und Tabellenmetadaten (tatsächlich in HDFS gespeichert);
(5) Zugriffskontrolle (ACL).
3) HRegionServer
(1) Lokale HRegion speichern und verwalten;
(2) HDFS lesen und schreiben, Daten in Tabelle verwalten;
(3) Client Daten direkt über HRegionServer lesen und schreiben (Metadaten von HMaster abrufen, HRegion / HRegionServer suchen, wo sich RowKey befindet Rückseite).
4) ZooKeeper-Cluster ist das Koordinationssystem.
(1) speichert die Metadaten des gesamten HBase-Clusters und die Clusterstatusinformationen.
(2) Realisieren Sie das Failover von HMaster-Master- und Slave-Knoten. Der
HBase-Client kommuniziert über RPC mit HMaster und HRegionServer. Ein HRegionServer kann 1000 HRegions speichern. Die zugrunde liegenden Tabellendaten werden in HDFS gespeichert, und die von HRegion verarbeiteten Daten sind so nah wie möglich an den DataNode, an dem sich die Daten befinden. Zusammen erreichen Sie die Datenlokalisierung.

Hbase-Datenstruktur und Tabellendetails

Die Hbase-Datentabelle besteht aus Zeilenschlüsseln und Spaltenfamilien. Der Zeilenschlüssel kann als Primärschlüssel der Datenbank betrachtet werden. Eine Spaltenfamilie kann mehrere Spalten enthalten, und die Spalten können dynamisch hinzugefügt werden. Dies ist der Vorteil von Hbase, die selbst ein Spaltenspeicher ist. Datenbank unterscheidet sich von der relationalen MySQL-Datenbank. Sobald die MySQL-Spalte festgelegt ist, kann sie nicht dynamisch hinzugefügt werden. Zu diesem Zeitpunkt ist Hbase sehr flexibel und kann dynamisch eine Spalte entsprechend den Geschäftsanforderungen erstellen. Lassen Sie mich einen Blick auf die Struktur der folgenden Tabelle werfen:
1.
Der Zeilenschlüssel ist der Primärschlüssel, mit dem Datensätze abgerufen und auf die Zeilen in der Hbase-Tabelle zugegriffen werden.
2. Die Spaltenfamilie Die Spaltenfamilientabelle
besteht aus einer oder mehreren ColumnFamily in horizontaler Richtung. Eine ColumnFamily kann aus einer beliebigen Anzahl von Spalten bestehen, dh ColumnFamily unterstützt die dynamische Erweiterung, ohne die Anzahl und den Typ der Spalten vorab zu definieren. Alle Spalten sind im Binärformat. Für die Speicherung müssen Benutzer die Typkonvertierung selbst durchführen.
3. Die Spaltenspalte besteht
aus der Spaltenfamilie ColumnFamily + Spaltenname (Zelle) in Hbase.
4. Cell
Hbase bestimmt die Spalten nach Zeilen und Spalten, und eine Speichereinheit wird als Zelle bezeichnet.
5. Versionsversion In
jeder Zelle werden mehrere Versionen derselben Daten gespeichert. Die Versionen werden durch Zeitstempel indiziert, und es gibt standardmäßig drei Versionen.
6. Das Folgende ist ein Beispiel für eine Hbase-Datenstrukturtabelle, wie in Tabelle 3.1 gezeigt:
Fügen Sie hier eine Bildbeschreibung ein

Tabelle 3.1 Beschreibung der Hbase-Tabellenstruktur

Erläuterung: In dem Beispiel enthält die Tabelle ein Datenelement. Der Primärschlüssel des Zeilenschlüssels lautet kc61800001, zwei Spaltenfamilien, eine ist name, es gibt nur eine Spalte kcname und die andere Spaltenfamilie kcsaleinfo hat zwei Spalten price und issale

um zusammenzufassen

Zu diesem Artikel gibt es auch ein entsprechendes unterstützendes Video . Für aufregendere Artikel laden Sie bitte die Lade-App herunter . Sie können Tausende von kostenlosen Lektionen und Artikeln erhalten. Weitere unterstützende Lehrbücher finden Sie in Chen Jingleis neuem Buch: "Distributed Machine Learning Practice" ( Artificial Intelligence Science) und Technology Series)

[Einführung in ein neues Buch]
"Verteiltes maschinelles Lernen in der Praxis" (Reihe zu Wissenschaft und Technologie der künstlichen Intelligenz) [herausgegeben von Chen Jinglei] [Tsinghua University Press]
Merkmale des neuen Buches: Erläutern Sie den Rahmen des verteilten maschinellen Lernens und seine Anwendung zur Unterstützung personalisierter Empfehlungen Algorithmus-System Schritt für Schritt, Gesichtserkennung, Dialogroboter und andere praktische Projekte

[Neues Bucheinführungsvideo]
Verteiltes maschinelles Lernen (Reihe künstliche Intelligenz, Wissenschaft und Technologie) Neues Buch [Chen Jinglei]

Videofunktionen: Konzentrieren Sie sich auf die Einführung neuer Bücher, die Analyse der neuesten Technologie-Hotspots und Vorschläge zur technischen Karriereplanung! Nachdem Sie diese Lektion gehört haben, haben Sie eine brandneue technologische Vision im Bereich der künstlichen Intelligenz! Karriereentwicklung wird auch ein klareres Verständnis haben!

[Ausgezeichneter Kurs]
"Verteiltes maschinelles Lernen, praktischer Kampf" Big Data Künstliche Intelligenz KI Ausgezeichneter Kurs auf Expertenebene

[Kostenloses Erlebnisvideo]:

Künstliche Intelligenz Millionen jährliche Gehaltswachstum Route / von Python zur neuesten heißen Technologie

Von der Einführung des Anfängers in die Python-Programmierung ohne Grundlage bis zur fortgeschrittenen praktischen Reihe von Kursen für künstliche Intelligenz

Videofunktionen: Diese Reihe von hochqualitativen Kursen auf Expertenebene enthält ein entsprechendes Begleitbuch "Distributed Machine Learning Practical Combat". Die hochwertigen Kurse und Bücher können sich gegenseitig ergänzen und ergänzen, was die Lerneffizienz erheblich verbessern kann. Der Kerninhalt des Kurses umfasst Big Data und künstliche Intelligenz von Internetunternehmen, Big Data-Algorithmus-Systemarchitektur, Big Data Foundation, Python-Programmierung, Java-Programmierung, Scala-Programmierung, Docker-Container, Mahout-Plattform für verteiltes maschinelles Lernen, Spark-Plattform für verteiltes maschinelles Lernen, Distributed Deep-Learning-Framework und neuronaler Netzwerkalgorithmus, Algorithmus zur Verarbeitung natürlicher Sprache, kompletter Systemkampf in Industriequalität (empfohlener Algorithmus-Systemkampf, Gesichtserkennungskampf, Dialogroboterkampf), Beschäftigungs- / Interviewfähigkeiten / Karriereplanung / Beförderungsberatung usw.

[Wird es berechnet? Firmeneinführung]

Die wiederaufladbare App ist eine Online-Bildungsplattform, die sich auf die Berufsausbildung und das Lernen für Büroangestellte konzentriert.

Konzentrieren Sie sich auf die Verbesserung und das Erlernen beruflicher Fähigkeiten, verbessern Sie die Arbeitseffizienz und bringen Sie wirtschaftliche Vorteile! Laden Sie heute auf?

Ist es kostenpflichtig? App offizielle Website Download-Adresse
https://a.app.qq.com/o/simple.jsp?pkgname=com.charged.app

Eigenschaften:

【Volle Branchenpositionen】 - Konzentration auf die Verbesserung der beruflichen Fähigkeiten von Büroangestellten

【Niuren-Klassenzimmer】 -Lernen Sie die Arbeitserfahrung von Niuren

【Ausgezeichnete Lektüre】 -Interessante Lektüre von Fertigkeitsartikeln

【Kurzkurs】 - Wissen effizient lernen

Ich denke du magst

Origin blog.csdn.net/weixin_52610848/article/details/113254931
Empfohlen
Rangfolge