Dlaczego używać MySQL w Hive jako Metastore:
- Domyślnie Hive jest dostarczany z bazą danych Derby jako magazynem metastore.
- Baza danych Derby może obsługiwać jednocześnie tylko jednego aktywnego użytkownika
- Derby nie jest zalecane w środowisku produkcyjnym
Więc rozwiązanie tutaj jest
- Użyj MYSQL jako magazynu Meta na zapleczu, aby połączyć wielu użytkowników z Hive naraz
- MYSQL to najlepszy wybór dla samodzielnego magazynu metastore
Kroki instalacji i konfiguracji bazy danych MySQL w Hive na Hadoop
Krok 1) W tym kroku wykonamy dwa zadania
- Instalacja serwera mysql
- Sprawdzanie serwera mysql i jego procesu
- Za pomocą polecenia sudo apt-get install mysql-server możemy pobrać serwer mysql
Zainstaluj MySQL, jak pokazano na zrzucie ekranu
- Po pomyślnym zakończeniu instalacji MySQL będzie działać, jak pokazano na poniższym zrzucie ekranu
Krok 2) Instalowanie łącznika MySQL Java. Dotyczy to zależności Java i celu połączenia
Krok 3) Utworzenie miękkiego linku do łącznika w katalogu biblioteki Hive . Służy do miękkiego połączenia między Javą a MySql.
Krok 4) Konfiguracja magazynu MySql w gałęzi
- Wpisz MySql -u root -p, a następnie hasło
- Tutaj -u reprezentuje nazwę użytkownika root, p oznacza hasło
- Po wpisaniu powyższej komendy użytkownik musi wprowadzić prawidłowe hasło, a następnie kliknąć enter
- Następnie przejdzie do trybu powłoki MySql
Krok 5) Utworzenie nazwy użytkownika i hasła do MySql, nadanie uprawnień.
Musimy wykonać polecenia, jak pokazano poniżej,
mysql> CREATE USER 'hiveuser'@'%' IDENTIFIED BY 'hivepassword';mysql> GRANT all on *.* to 'hiveuser'@localhost identified by 'hivepassword';mysql> flush privileges;
Krok 6) Konfiguracja hive-site.xml
- Po Kroku 5 przypisz nazwę użytkownika i hasło do bazy danych MySQL oraz nadaj uprawnienia.
- Tutaj skonfigurujemy niektóre właściwości w Hive, aby uzyskać połączenie z bazą danych MySQL .
Na powyższym zrzucie ekranu obserwujemy, co następuje. Tutaj definiujemy 4 właściwości, które mogą być niezbędne do ustalenia MYSQL jako magazynu Meta w Hive
Są to następujące:
- Ta właściwość służy do celów adresu URL połączenia. Tutaj definiujemy ConnectionURL w tej właściwości. Działa jako połączenie JDBC i reprezentuje również lokalizację metastore
- Ta właściwość dotyczy nazwy sterownika połączenia. Tutaj mysql.jdbc.Driver jest szanowaną wartością, o której musimy wspomnieć w tagu value
- Ta właściwość służy do definiowania nazwy użytkownika połączenia. W tym przypadku zdefiniowaliśmy „hiveguru” jako nazwę użytkownika
- Ta właściwość służy do wymieniania hasła połączenia. W tym przypadku zdefiniowaliśmy hasło jako hasło użytkownika.
Po umieszczeniu właściwości w gałęzi -site.xml musimy ręcznie zapisać (Ctrl + S) i zamknąć plik. Po zamknięciu tego pliku musimy utworzyć tabelę Hive i sprawdzić szczegóły tabeli w magazynie MySQL.
Umieść ten kod w 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) Utwórz tabelę „guru99” w Hive.
Na powyższym zrzucie ekranu możemy zauważyć, co następuje
- Utworzenie nazwy tabeli „guru99” z dwoma nazwami kolumn
- Nazwy kolumn wymienione z ich typem danych jako jedna to liczba całkowita, a druga to łańcuch
W następnym kroku sprawdzimy, czy jest on przechowywany w MySql, czy nie
Krok 8) Wejście w tryb powłoki MySql
Na powyższym zrzucie ekranu możemy zauważyć, co następuje
- Najpierw musimy użyć bazy danych jako „użyj metastore”
- Gdy wybierze meta-store, możemy sprawdzić obecne w nim tabele za pomocą polecenia "show" table, jak pokazano na zrzucie ekranu
- Niezależnie od tabel utworzonych w programie Hive metadane odpowiadają tym, że tabele są przechowywane w TBLS w bazie danych MySQL.
- „Tabela Guur99” jest tworzona w Hive, więc odpowiednie metadane są przechowywane w MySQL jako TBLS.
Krok 9) Sprawdzenie, czy utworzona tabela przedstawia MySQL czy nie
Wpisanie select * z TBLS spowoduje wyświetlenie tabel, które utworzyliśmy w trybie powłoki Hive
Na powyższym zrzucie ekranu możemy zaobserwować następujące rzeczy:
- Nazwa tabeli „guru99”, która została utworzona, to Hive, może być wyświetlana w trybie powłoki MySQL
- Oprócz tego zapewni również informacje, takie jak czas utworzenia tabeli, czas dostępu i inne właściwości, jak pokazano na powyższym zrzucie ekranu.