Jak nainstalovat a nakonfigurovat HIVE Metastore s MYSQL

Co je HIVE Metastore?

Hive metastore je úložiště, které ukládá metadata (názvy sloupců, datové typy, komentáře atd.) související s Apache Hive pomocí MySQL or PostgreSQL. Toto metaúložiště Hive je implementováno pomocí tabulek v relační databázi.

Proč používat MySQL v Hive as Metastore:

  • Ve výchozím nastavení přichází Hive s databází derby jako metastore.
  • Databáze Derby může současně podporovat pouze jednoho aktivního uživatele
  • Derby se nedoporučuje v produkčním prostředí

Takže řešení tady je

  • Použijte MYSQL jako úložiště Meta na backendu pro připojení více uživatelů k Hive najednou
  • MYSQL je nejlepší volbou pro samostatné metaúložiště

Jak nainstalovat a nakonfigurovat Hive Metastore MySQL Databáze

Krok 1) instalovat MySQL Server
V tomto kroku provedeme dva úkoly

  1. Instalace mysql-serveru
  2. Kontrola mysql-serveru a jeho procesu
  1. Použití příkaz sudo apt-get install mysql-server, můžeme si stáhnout mysql server

instalovat MySQL jak je znázorněno na snímku obrazovky

Nainstalujte a nakonfigurujte Hive Metastore na MySQL Databáze

  1. Po úspěšné instalaci na konci, MySQL poběží tak, jak je znázorněno na snímku obrazovky níže

Nainstalujte a nakonfigurujte Hive Metastore na MySQL Databáze

Krok 2) instalovat MySQL Java konektor
Instalace MySQL Java Konektor. Toto je pro závislosti na Javě a účely připojení

Nainstalujte a nakonfigurujte Hive Metastore na MySQL Databáze

Krok 3) Vytvořte měkký odkaz pro konektor
Vytvoření měkkého odkazu pro konektor v adresáři Hive lib. Toto je pro měkké propojení Java a MySql.

Nainstalujte a nakonfigurujte Hive Metastore na MySQL Databáze

Krok 4) Konfigurace úložiště MySql v Hive

Nainstalujte a nakonfigurujte Hive Metastore na MySQL Databáze

  • Zadejte MySql –u root –p následované heslem
  • Zde –u představuje uživatelské jméno root , p označuje heslo
  • Po zadání výše uvedeného příkazu musí uživatel zadat platné heslo a poté kliknout na enter
  • Poté vstoupí do režimu shellu MySql

Krok 5) Vytvořte uživatelské jméno a heslo
Vytvoření uživatelského jména a hesla pro MySql, udělení oprávnění.

Nainstalujte a nakonfigurujte Hive Metastore na MySQL Databáze

Musíme provést příkazy, jak je uvedeno níže,

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

Krok 6) Konfigurace hive-site.xml

  • Po kroku 5 přiřaďte uživatelské jméno a heslo MySQL databáze a udělená oprávnění.
  • Zde nakonfigurujeme některé vlastnosti v Hive, se kterými získáme spojení MySQL databáze.

Nainstalujte a nakonfigurujte Hive Metastore na MySQL Databáze

Nainstalujte a nakonfigurujte Hive Metastore na MySQL Databáze

Z výše uvedeného snímku obrazovky vidíme následující. Zde definujeme 4 vlastnosti, které by mohly být nezbytné pro vytvoření MYSQL jako úložiště Meta Úl

Jedná se o následující:

  1. Tato vlastnost je pro účely adresy URL připojení. Zde definujeme ConnectionURL v této vlastnosti. Funguje jako připojení JDBC a jeho reprezentující umístění metastore
  2. Tato vlastnost je pro název ovladače připojení. Zde je mysql.jdbc.Driver respektovanou hodnotou, kterou musíme zmínit ve značce value
  3. Tato vlastnost se používá pro definování uživatelského jména připojení. V tomto jsme definovali „hiveguru“ jako uživatelské jméno
  4. Tato vlastnost se používá pro uvedení hesla připojení. V tomto jsme definovali heslo jako uživatelské heslo.

Jakmile jsou vlastnosti umístěny do hive –site.xml, musíme soubor ručně uložit (Ctrl+S) a zavřít. Po zavření tohoto souboru musíme vytvořit tabulku Hive a zkontrolovat podrobnosti tabulky MySQL úložný prostor.

Umístěte tento kód do souboru 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>

Krok 7) Vytvořte tabulku
Vytvořte tabulku „guru99“ v Hive.

Nainstalujte a nakonfigurujte Hive Metastore na MySQL Databáze

Z výše uvedeného snímku obrazovky můžeme pozorovat následující

  • Vytvoření názvu tabulky “guru99″ se dvěma názvy sloupců
  • Názvy sloupců uvedené s jejich datovým typem jako jeden je celočíselný a druhý je řetězcového typu

V dalším kroku zkontrolujeme, zda je uložen v MySql nebo ne

Krok 8) Vstupte do režimu shellu MySql

Nainstalujte a nakonfigurujte Hive Metastore na MySQL Databáze

Z výše uvedeného snímku obrazovky můžeme pozorovat následující

  • Nejprve musíme použít databázi jako „použít metastore“
  • Jakmile si vybere meta store, můžeme zkontrolovat tabulky přítomné v tomto pomocí příkazu „show“ tables, jak je znázorněno na snímku obrazovky
  • Bez ohledu na tabulky, které jsou vytvořeny v Hive, metadata odpovídají tomu, že tabulky jsou uloženy pod TBLS v MySQL databáze.
  • „Tabulka Guur99“ je vytvořena v Hive, takže jsou uložena odpovídající metadata MySQL pod TBLS.

Krok 9) Zadejte výběr * z TBLS
Kontrola, zda se vytvořená tabulka prezentuje MySQL nebo ne

Nainstalujte a nakonfigurujte Hive Metastore na MySQL Databáze

Zadáním select * z TBLS se zobrazí tabulky, které jsme vytvořili v režimu Hive shell

Z výše uvedeného snímku obrazovky můžeme pozorovat následující věci:

  • Název tabulky „guru99“, která byla vytvořena, je Úl, ve kterém lze zobrazit MySQL shellový režim
  • Kromě toho také poskytne informace, jako je čas vytvoření tabulky, čas přístupu a další vlastnosti, jak je znázorněno na snímku obrazovky výše.