So installieren und konfigurieren Sie HIVE Metastore mit MySQL
Was ist HIVE Metastore?
Der Hive-Metastore ist ein Repository, das Metadaten (Spaltennamen, Datentypen, Kommentare usw.) im Zusammenhang mit der Verwendung von Apache Hive speichert MySQL or PostgreSQL. Dieser Hive-Metastore wird mithilfe von Tabellen in einer relationalen Datenbank implementiert.
Warum verwenden? MySQL in Hive als Metastore:
- Standardmäßig verfügt Hive über eine Derby-Datenbank als Metastore.
- Die Derby-Datenbank kann jeweils nur einen aktiven Benutzer unterstützen
- Derby wird in der Produktionsumgebung nicht empfohlen
So Lösung hier ist
- Verwenden Sie MySQL als Meta-Speicher im Backend, um mehrere Benutzer gleichzeitig mit Hive zu verbinden
- MYSQL ist die beste Wahl für den eigenständigen Metastore
So installieren und konfigurieren Sie Hive Metastore für MySQL Database
Schritt 1) Installieren MySQL Server
In diesem Schritt werden wir zwei Aufgaben ausführen
- Installation des MySQL-Servers
- Überprüfung des MySQL-Servers und seiner Prozesse
- Die richtigen Mit dem Befehl sudo apt-get install mysql-server können wir den MySQL-Server herunterladen
Installieren MySQL wie im Screenshot gezeigt
- Nach erfolgreicher Installation am Ende, MySQL läuft wie im folgenden Screenshot gezeigt
Schritt 2) Installieren MySQL Java Anschluss
Montage von MySQL Java Verbinder. Dies dient Java-Abhängigkeiten und Verbindungszwecken
Schritt 3) Erstellen Sie einen Softlink für den Connector
Erstellen eines Softlinks für den Connector im Hive-Bibliotheksverzeichnis. Dies ist für den Softlink zwischen Java und MySql.
Schritt 4) Konfigurieren des MySql-Speichers in Hive
- Geben Sie MySql –u root –p gefolgt vom Passwort ein.
- Hier steht –u für den Root-Benutzernamen, p für das Passwort
- Nach Eingabe des obigen Befehls muss der Benutzer ein gültiges Passwort eingeben und dann auf die Eingabetaste klicken
- Dann wechselt es in den MySql-Shell-Modus
Schritt 5) Erstellen Sie einen Benutzernamen und ein Passwort
Erstellen von Benutzername und Passwort für MySql, Gewähren von Berechtigungen.
Wir müssen die Befehle wie unten gezeigt ausführen:
mysql> CREATE USER 'hiveuser'@'%' IDENTIFIED BY 'hivepassword'; mysql> GRANT all on *.* to 'hiveuser'@localhost identified by 'hivepassword'; mysql> flush privileges;
Schritt 6) Konfigurieren von hive-site.xml
- Weisen Sie nach Schritt 5 Benutzername und Passwort zu MySQL Datenbank und gegebene Privilegien.
- Hier konfigurieren wir einige Eigenschaften in Hive, mit denen eine Verbindung hergestellt werden soll MySQL Datenbank.
Aus dem obigen Screenshot können wir Folgendes erkennen. Hier definieren wir 4 Eigenschaften, die notwendig sein könnten, um MySQL als Meta-Store einzurichten in Bienenstock
Dies sind wie folgt:
- Diese Eigenschaft dient der Verbindungs-URL. Hier definieren wir ConnectionURL in dieser Eigenschaft. Es fungiert als JDBC-Verbindung und repräsentiert auch den Metastore-Speicherort
- Diese Eigenschaft ist für den Namen des Verbindungstreibers. Hier ist mysql.jdbc.Driver der entsprechende Wert, den wir im Werte-Tag angeben müssen.
- Diese Eigenschaft wird zum Definieren des Verbindungsbenutzernamens verwendet. Darin haben wir „hiveguru“ als Benutzernamen definiert
- Diese Eigenschaft wird zur Angabe des Verbindungskennworts verwendet. Darin haben wir das Passwort als Benutzerpasswort definiert.
Sobald die Eigenschaften in hive –site.xml platziert sind, müssen wir die Datei manuell speichern (Strg+S) und schließen. Nach dem Schließen dieser Datei müssen wir eine Hive-Tabelle erstellen und die Tabellendetails in überprüfen MySQL Lagerung.
Platzieren Sie diesen Code in hive-site.xml
hive-site.xml
<configuration> <property> <name>javax.jdo.option.ConnectionURL</name> <value>jdbc:mysql://localhost/metastore?createDatabaseIfNotExist=true</value> <description>metadata is stored in a MySQL server</description> </property> <property> <name>javax.jdo.option.ConnectionDriverName</name> <value>com.mysql.jdbc.Driver</value> <description>MySQL JDBC driver class</description> </property> <property> <name>javax.jdo.option.ConnectionUserName</name> <value>hiveuser</value> <description>user name for connecting to mysql server</description> </property> <property> <name>javax.jdo.option.ConnectionPassword</name> <value>hivepassword</value> <description>password for connecting to mysql server</description> </property> </configuration>
Schritt 7) Tabelle erstellen
Erstellen Sie die Tabelle „guru99“ in Hive.
Aus dem obigen Screenshot können wir Folgendes erkennen:
- Erstellung des Tabellennamens „guru99“ mit zwei Spaltennamen
- Die genannten Spaltennamen werden mit ihrem Datentyp angegeben, da eine davon eine Ganzzahl und die andere ein String-Typ ist
Im nächsten Schritt prüfen wir, ob es in MySql gespeichert ist oder nicht
Schritt 8) Wechseln Sie in den MySql-Shell-Modus
Aus dem obigen Screenshot können wir Folgendes erkennen:
- Zuerst müssen wir die Datenbank als „Use Metastore“ verwenden.
- Sobald der Meta-Store ausgewählt wurde, können wir die darin vorhandenen Tabellen überprüfen, indem wir den Befehl „show“ tables verwenden, wie im Screenshot gezeigt
- Unabhängig von den in Hive erstellten Tabellen entsprechen die Metadaten den Tabellen, die unter TBLS gespeichert sind MySQL Datenbank.
- Die „Guur99-Tabelle“ wird in Hive erstellt, sodass die entsprechenden Metadaten darin gespeichert werden MySQL unter TBLS.
Schritt 9) Geben Sie „select * from TBLS“ ein
Überprüfen, ob die erstellte Tabelle angezeigt wird MySQL oder nicht
Durch Eingabe von „select * from TBLS“ werden die Tabellen angezeigt, die wir im Hive-Shell-Modus erstellt haben
Aus dem obigen Screenshot können wir Folgendes erkennen:
- Der Tabellenname „guru99“, der im Hive erstellt wurde, kann angezeigt werden in MySQL Shell-Modus
- Darüber hinaus werden auch Informationen wie Tabellenerstellungszeit, Zugriffszeit und andere Eigenschaften bereitgestellt, wie im Screenshot oben gezeigt.