Чому використовувати MySQL в Hive як Metastore:
- За замовчуванням, Hive постачається з базою даних дербі як метамагазиною.
- База даних Derby може одночасно підтримувати лише одного активного користувача
- Дербі не рекомендується використовувати у виробничих умовах
Тож рішення тут
- Використовуйте MYSQL як Meta-сховище на сервері, щоб одночасно підключити декілька користувачів до Hive
- MYSQL - найкращий вибір для автономної метадавни
Етапи встановлення та налаштування бази даних MySQL у Hive на Hadoop
Крок 1) На цьому кроці ми збираємося виконати два завдання
- Встановлення mysql-сервера
- Перевірка mysql-сервера та його процес
- Використовуючи команду sudo apt-get install mysql-server, ми можемо завантажити сервер mysql
Встановіть MySQL, як показано на скріншоті
- Після успішної установки в кінці MySQL буде працювати, як показано на знімку екрана нижче
Крок 2) Встановлення MySQL Java Connector. Це для залежностей Java та цілей підключення
Крок 3) Створення м'якого посилання для роз'єму в каталозі Hive lib . Це для м’якого зв’язку між Java та MySql.
Крок 4) Налаштування сховища MySql у вулику
- Введіть MySql -u root -p, а потім пароль
- Тут -u представляє ім'я користувача root, p позначає пароль
- Після введення вищезазначеної команди користувач повинен ввести дійсний пароль, а потім натиснути Enter
- Потім він перейде в режим оболонки MySql
Крок 5) Створення імені користувача та пароля для MySql, надання привілеїв.
Ми повинні виконати команди, як показано нижче,
mysql> CREATE USER 'hiveuser'@'%' IDENTIFIED BY 'hivepassword';mysql> GRANT all on *.* to 'hiveuser'@localhost identified by 'hivepassword';mysql> flush privileges;
Крок 6) Налаштування hive-site.xml
- Після кроку 5 призначте ім'я користувача та пароль базі даних MySQL та надайте привілеї.
- Тут ми налаштуємо деякі властивості в Hive, щоб отримати зв’язок з базою даних MySQL .
З наведеного вище скріншоту ми спостерігаємо наступне. Тут ми визначаємо 4 властивості, які можуть бути необхідними для встановлення MYSQL як сховища Meta в Hive
Вони такі:
- Ця властивість призначена для URL-адреси підключення. Тут ми визначаємо ConnectionURL у цій властивості. Він виступає як з'єднання JDBC, а також представляє розташування метамагазину
- Ця властивість призначена для імені драйвера підключення. Тут mysql.jdbc.Driver - це поважне значення, яке ми повинні згадати в тегу value
- Ця властивість використовується для визначення імені користувача підключення. У цьому ми визначили "hiveguru" як ім'я користувача
- Ця властивість використовується для згадування пароля підключення. У цьому ми визначили пароль як пароль користувача.
Після того, як властивості, розміщені в hive -site.xml, ми повинні зберегти вручну (Ctrl + S) і закрити файл. Після закриття цього файлу ми повинні створити таблицю Hive і перевірити деталі таблиці в сховищі MySQL.
Помістіть цей код у 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
Крок 7) Створіть таблицю "guru99" у вулику.
З наведеного вище скріншоту ми можемо спостерігати наступне
- Створення назви таблиці "guru99" з двома іменами стовпців
- Імена стовпців, згадані з типом даних, як одне ціле число, а інше - рядкового типу
На наступному кроці ми перевіримо, зберігається він у MySql чи ні
Крок 8) Перехід у режим оболонки MySql
З наведеного вище скріншоту ми можемо спостерігати наступне
- Спочатку ми повинні використовувати базу даних як "використовувати метамагазину"
- Після вибору мета-сховища ми можемо перевірити таблиці, представлені в цьому, за допомогою команди "показати" таблиці, як показано на скріншоті
- Незалежно від таблиць, створених у Hive, метадані відповідають тому, що таблиці зберігаються в TBLS в базі даних MySQL.
- "Таблиця Guur99" створюється в Hive, тому відповідні метадані зберігаються в MySQL під TBLS.
Крок 9) Перевірка того, чи створена таблиця представляє MySQL чи ні
Ввівши select * з TBLS, він відображатиме таблиці, створені нами в режимі оболонки Hive
З наведеного вище скріншоту ми можемо спостерігати такі речі:
- Назва таблиці "guru99", яка створена у вулику, може відображатися в режимі оболонки MySQL
- Крім цього, він також надаватиме таку інформацію, як час створення таблиці, час доступу та інші властивості, як показано на знімку екрана вище.