Proč používat MySQL v Hive jako Metastore:
- Standardně je Hive dodáván s databází derby jako metastore.
- Databáze Derby může podporovat pouze jednoho aktivního uživatele najednou
- Derby se v produkčním prostředí nedoporučuje
Takže řešení zde je
- Použijte MYSQL jako Meta úložiště na backendu pro připojení více uživatelů k Hive najednou
- MYSQL je nejlepší volbou pro samostatný metastore
Kroky k instalaci a konfiguraci databáze MySQL v Hive na Hadoop
Krok 1) V tomto kroku provedeme dva úkoly
- Instalace mysql-serveru
- Kontrola mysql-serveru a jeho procesu
- Pomocí příkazu sudo apt-get install mysql-server si můžeme stáhnout mysql server
Nainstalujte MySQL podle obrázku
- Po úspěšné instalaci na konci MySQL poběží, jak je znázorněno na následujícím snímku obrazovky
Krok 2) Instalace MySQL Java Connector. To je pro java závislosti a účel připojení
Krok 3) Vytvoření měkkého odkazu pro konektor v adresáři Hive lib . To je pro měkké propojení mezi Java a MySql.
Krok 4) Konfigurace úložiště MySql v Hive
- Zadejte MySql -u root -p následované heslem
- Zde -u představuje uživatelské jméno uživatele 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 prostředí MySql
Krok 5) Vytvoření uživatelského jména a hesla pro MySql, udělení oprávnění.
Musíme provést příkazy, jak je znázorněno 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 souboru hive-site.xml
- Po kroku 5 přiřaďte uživatelské jméno a heslo k databázi MySQL a daná oprávnění.
- Zde nakonfigurujeme některé vlastnosti v Hive, abychom získali připojení k databázi MySQL .
Z výše uvedeného snímku obrazovky sledujeme následující. Zde definujeme 4 vlastnosti, které by mohly být nezbytné k založení MYSQL jako Meta úložiště v Hive
Jedná se o následující:
- Tato vlastnost je pro účely adresy URL připojení. Zde definujeme ConnectionURL v této vlastnosti. Funguje jako připojení JDBC a také představuje umístění metastore
- Tato vlastnost je pro název ovladače připojení. Zde je mysql.jdbc.Driver respektovaná hodnota, kterou musíme ve značce hodnoty zmínit
- Tato vlastnost slouží k definování uživatelského jména připojení. V tomto jsme definovali „hiveguru“ jako uživatelské jméno
- Tato vlastnost slouží ke zmínce hesla připojení. V tomto jsme definovali heslo jako uživatelské heslo.
Jakmile jsou vlastnosti umístěné v hive -site.xml, musíme ručně uložit (Ctrl + S) a zavřít soubor. Po uzavření tohoto souboru musíme vytvořit tabulku Hive a zkontrolovat podrobnosti tabulky v úložišti MySQL.
Umístěte tento kód do souboru hive-site.xml
hive-site.xml
javax.jdo.option.ConnectionURL jdbc:mysql://localhost/metastore?createDatabaseIfNotExist=true metadata is stored in a MySQL server javax.jdo.option.ConnectionDriverName com.mysql.jdbc.Driver MySQL JDBC driver class javax.jdo.option.ConnectionUserName hiveuser user name for connecting to mysql server javax.jdo.option.ConnectionPassword hivepassword password for connecting to mysql server
Krok 7) Vytvořte tabulku „guru99“ v Úlu.
Z výše uvedeného snímku obrazovky můžeme sledovat následující
- Vytvoření názvu tabulky "guru99" se dvěma názvy sloupců
- Názvy sloupců uvedené s datovým typem jako jeden je celé číslo a další je řetězcového typu
V dalším kroku zkontrolujeme, zda je uložen v MySql nebo ne
Krok 8) Vstup do režimu prostředí MySql
Z výše uvedeného snímku obrazovky můžeme sledovat následující
- Nejprve musíme použít databázi jako „použít metastore“
- Jakmile si vybere meta store, můžeme zkontrolovat tabulky, které jsou v něm, 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í těmto tabulkám, které jsou uloženy pod TBLS v databázi MySQL.
- „Tabulka Guur99“ je vytvořena v Hive, takže odpovídající metadata jsou uložena v MySQL pod TBLS.
Krok 9) Kontrola, zda vytvořená tabulka obsahuje MySQL nebo ne
Zadáním select * z TBLS se zobrazí tabulky, které jsme vytvořili v režimu prostředí Hive
Z výše uvedeného snímku obrazovky můžeme sledovat následující věci:
- Název tabulky „guru99“, který byl vytvořen, je Hive, lze zobrazit v režimu prostředí MySQL
- Kromě toho bude také poskytovat informace, jako je čas vytvoření tabulky, čas přístupu a další vlastnosti, jak je znázorněno na snímku obrazovky výše.