Video: Achieving a 360-degree view of manufacturing via open source industrial data management 2024
HBase ist in Java geschrieben, einer eleganten Sprache für den Aufbau verteilter Technologien wie HBase, aber stellen Sie sich vor - nicht jeder, der HBase-Innovationen nutzen möchte, ist ein Java-Entwickler. Aus diesem Grund gibt es ein reiches HBase-Client-Ökosystem, dessen einziger Zweck darin besteht, das schwere Java-Heben für Sie zu erledigen und sich darauf konzentrieren zu können, HBase für Sie arbeiten zu lassen.
Rich ist in der Regel ein gutes Merkmal, aber wenn dieses Adjektiv die Linie in überwältigt, beginnt ein Problem. Hier ist ein Überblick über das Client-Ökosystem in Diagrammform. Beachten Sie, dass das Diagramm dem HBase-Architekturdiagramm mit einer Explosionsansicht des Clientfelds ähnelt.
Die folgenden Listen fassen Ihre Optionen zusammen, beginnend mit den Apache Hadoop-Clients, genauer gesagt mit den HBase-Clients, die Teil des Apache Hadoop-Ökosystems sind, zusammen mit den mit HBase gebündelten Technologien, die Sie bei der Erstellung unterstützen. HBase-Clients:
-
Hive: Hive ist ein weiteres Apache-Projekt der Spitzenklasse. Hive bietet auf Apache Hadoop eigene Data-Warehousing-Funktionen an. Es wird mit einem Speicherhandler für HBase geliefert und bietet außerdem die HiveQL-Abfragesprache, die SQL sehr ähnlich ist. Mit Hive können Sie alle Abfragen von HBase, die Sie mit HiveQL durchführen wollen, erledigen und - hier ist der Kicker - ist keine Java-Codierung erforderlich, wenn Sie HBase mit Hive verwenden.
-
MapReduce: MapReduce ist Teil des Apache-Hadoop-Frameworks. MapReduce's Anspruch auf Ruhm ist, dass es ein Programmiermodell für die parallele Verarbeitung von Daten auf einem verteilten Cluster ist. Im Hadoop-Universum ist HBase (wie der Name schon sagt) die "Hadoop-Datenbank. "HBase nutzt das Hadoop Distributed File System (HDFS) und kann auch von MapReduce-Jobs genutzt werden. HBase-Tabellen können eine Quelle oder eine Senke für die parallele Verarbeitung von MapReduce-Jobs sein.
-
Pig: Pig ist eine weitere Technologie, die in Apache Hadoop enthalten ist, und Pig kann HBase wie Hive nutzen. Pig bringt Sie auf eine Stufe, indem Sie eine höhere Programmiersprache namens Pig Latin erhalten, die das schwere MapReduce-Heben für Sie erledigen kann.
-
Mehrsprachiges Thrift-System: Thrift bietet einen sprachneutralen Ansatz zum Aufbau von HBase-Clients. Die von Interface entwickelte Schnittstellendefinitionssprache (IDL) von Thrift ermöglicht es Ihnen, Datentypen und Serviceschnittstellen so zu definieren, dass zwei verschiedene Systeme, die in verschiedenen Sprachen geschrieben sind, miteinander kommunizieren können. Nachdem die IDL geschrieben wurde, erzeugt Thrift den für die Kommunikation erforderlichen Code.
-
Java Client: Wenn Sie ein Java-Entwickler sind und die Besonderheiten von Java-Paketen verstehen, sollten Sie das Paket, das mit der HBase-Distribution geliefert wird, auschecken.
-
REST-System: Der wahrscheinlich schnellste Ansatz für den Zugriff auf eine HBase-Tabelle ist die Nutzung der REST-Schnittstelle. REST, das für Re Präsentations S tate T ransfer steht, ist die Technologie, die Ihren Webbrowser zum Laufen bringt. Die meisten Leute halten Webbrowser heutzutage für selbstverständlich, also was könnte für jeden natürlicher sein, als nur Ihren Lieblingsbrowser als Gateway zu einem HBase-Cluster zu verwenden?
Wie beim Thrift-Ansatz wird der REST-Gateway-Server mit HBase ausgeliefert und Sie müssen mindestens einen starten, um die Browserinteraktion mit Ihren Tabellen zu ermöglichen. Wählen Sie dazu einfach eine Portnummer für Ihren Gateway-Server aus und geben Sie den folgenden Befehl ein:
$ INSTALL_DIR / hbase-0. 94. 7 / bin / hbase Reststart _p 7777
-
JRuby (HBase Shell): Der schnellste Weg, um die Ärmel hochzukrempeln und HBase zu lernen, ist über die HBase-Shell. Wie Sie wahrscheinlich bereits in dem praktischen Beispiel der HBase-Shell im vorherigen Abschnitt gesehen haben, ist die Shell ein leistungsfähiges Werkzeug für die Interaktion mit HBase. Die HBase-Shell basiert auf JRubys Interactive Ruby Shell oder kurz IRB.
Beachten Sie jedoch, dass Sie auch Skripte schreiben und im Batch-Modus ausführen können.