Come installare e configurare HIVE Metastore con MYSQL

Cos'è HIVE Metastore?

Hive metastore è un repository che archivia metadati (nomi di colonne, tipi di dati, commenti, ecc.) relativi ad Apache Hive utilizzando MySQL or PostgreSQL. Questo metastore Hive viene implementato utilizzando tabelle in un database relazionale.

Perché usare MySQL in Hive come Metastore:

  • Per impostazione predefinita, Hive viene fornito con il database derby come metastore.
  • Il database Derby può supportare solo un singolo utente attivo alla volta
  • Il derby non è consigliato nell'ambiente di produzione

Di conseguenza, soluzione qui è

  • Utilizza MYSQL come meta storage nel backend per connettere più utenti con Hive alla volta
  • MYSQL è la scelta migliore per il metastore autonomo

Come installare e configurare Hive Metastore su MySQL Banca Dati

Passo 1) Installazione MySQL server
In questo passaggio, eseguiremo due attività

  1. Installazione del server mysql
  2. Controllo del server mysql e del suo processo
  1. utilizzando sudo apt-get install mysql-server comando, possiamo scaricare mysql server

Installazione MySQL come mostrato nello screenshot

Installa e configura Hive Metastore su MySQL Banca Dati

  1. Al termine dell'installazione, MySQL verrà eseguito come mostrato nella schermata seguente

Installa e configura Hive Metastore su MySQL Banca Dati

Passo 2) Installazione MySQL Java Connettore
Installazione MySQL Java Connettore. Questo è per le dipendenze Java e lo scopo della connessione

Installa e configura Hive Metastore su MySQL Banca Dati

Passo 3) Crea collegamento software per il connettore
Creazione di un collegamento software per il connettore nella directory lib di Hive. Questo è per il collegamento morbido tra Java e MySql.

Installa e configura Hive Metastore su MySQL Banca Dati

Passo 4) Configurazione dell'archiviazione MySql in Hive

Installa e configura Hive Metastore su MySQL Banca Dati

  • Digita MySql –u root –p seguito dalla password
  • Qui –u rappresenta il nome utente root, p indica la password
  • Dopo aver inserito il comando precedente, l'utente deve inserire una password valida e quindi fare clic su Invio
  • Quindi entrerà nella modalità shell MySql

Passo 5) Crea nome utente e password
Creazione di nome utente e password per MySql, concessione dei privilegi.

Installa e configura Hive Metastore su MySQL Banca Dati

Dobbiamo eseguire i comandi come mostrato di seguito,

mysql> CREATE USER 'hiveuser'@'%' IDENTIFIED BY 'hivepassword'; 
mysql> GRANT all on *.* to 'hiveuser'@localhost identified by 'hivepassword';
mysql>  flush privileges;

Passo 6) Configurazione di hive-site.xml

  • Dopo il passaggio 5 assegnare nome utente e password a MySQL database e privilegi assegnati.
  • Qui configureremo alcune proprietà in Hive con cui ottenere una connessione MySQL Banca dati.

Installa e configura Hive Metastore su MySQL Banca Dati

Installa e configura Hive Metastore su MySQL Banca Dati

Dallo screenshot sopra, osserviamo quanto segue. Qui stiamo definendo 4 proprietà che potrebbero essere necessarie per stabilire MYSQL come Meta store in Alveare

Questi sono i seguenti:

  1. Questa proprietà serve allo scopo dell'URL di connessione. Qui stiamo definendo ConnectionURL in questa proprietà. Funziona come connessione JDBC e rappresenta anche la posizione del metastore
  2. Questa proprietà è per il nome del driver di connessione. Qui mysql.jdbc.Driver è il valore rispettato che dobbiamo menzionare nel tag value
  3. Questa proprietà viene utilizzata per definire il nome utente della connessione. In questo, abbiamo definito "hiveguru" come nome utente
  4. Questa proprietà viene utilizzata per menzionare la password di connessione. In questo, abbiamo definito la password come password dell'utente.

Una volta inserite le proprietà in hive –site.xml dobbiamo salvare manualmente (Ctrl+S) e chiudere il file. Dopo aver chiuso questo file, dobbiamo creare la tabella Hive e controllare i dettagli della tabella in MySQL Conservazione.

Inserisci questo codice 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>

Passo 7) Crea una tabella
Crea la tabella "guru99" in Hive.

Installa e configura Hive Metastore su MySQL Banca Dati

Dallo screenshot sopra, possiamo osservare quanto segue

  • Creazione del nome della tabella "guru99" con due nomi di colonna
  • I nomi delle colonne menzionati con il relativo tipo di dati sono uno intero e un altro è di tipo stringa

Nel passaggio successivo, controlleremo se è archiviato in MySql o meno

Passo 8) Entra nella modalità shell MySql

Installa e configura Hive Metastore su MySQL Banca Dati

Dallo screenshot sopra, possiamo osservare quanto segue

  • Per prima cosa dobbiamo utilizzare il database come “usa metastore”
  • Una volta scelto il meta store, possiamo controllare le tabelle presenti in questo utilizzando il comando "mostra" tabelle come mostrato nello screenshot
  • Qualunque siano le tabelle create in Hive, i metadati corrispondono a quelle delle tabelle archiviate in TBLS MySQL Banca dati.
  • La "tabella Guur99" viene creata in Hive, quindi i metadati corrispondenti vengono archiviati MySQL sotto TBLS.

Passo 9) Immettere seleziona * da TBLS
Verifica se la tabella creata viene presentata MySQL o no

Installa e configura Hive Metastore su MySQL Banca Dati

Inserendo select * from TBLS, verranno visualizzate le tabelle che abbiamo creato in modalità shell Hive

Dallo screenshot qui sopra possiamo osservare le seguenti cose:

  • Il nome della tabella "guru99" creata è l'Hive in cui può essere visualizzato MySQL modalità shell
  • Oltre a ciò, fornirà anche informazioni come l'ora di creazione della tabella, l'ora di accesso e altre proprietà come mostrato nella schermata sopra.

Riassumi questo post con: