Конфігурація HIVE Metastore з MYSQL

Anonim

Чому використовувати MySQL в Hive як Metastore:

  • За замовчуванням, Hive постачається з базою даних дербі як метамагазиною.
  • База даних Derby може одночасно підтримувати лише одного активного користувача
  • Дербі не рекомендується використовувати у виробничих умовах

Тож рішення тут

  • Використовуйте MYSQL як Meta-сховище на сервері, щоб одночасно підключити декілька користувачів до Hive
  • MYSQL - найкращий вибір для автономної метадавни

Етапи встановлення та налаштування бази даних MySQL у Hive на Hadoop

Крок 1) На цьому кроці ми збираємося виконати два завдання

  1. Встановлення mysql-сервера
  2. Перевірка mysql-сервера та його процес
  1. Використовуючи команду sudo apt-get install mysql-server, ми можемо завантажити сервер mysql

Встановіть MySQL, як показано на скріншоті

  1. Після успішної установки в кінці 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

Вони такі:

  1. Ця властивість призначена для URL-адреси підключення. Тут ми визначаємо ConnectionURL у цій властивості. Він виступає як з'єднання JDBC, а також представляє розташування метамагазину
  2. Ця властивість призначена для імені драйвера підключення. Тут mysql.jdbc.Driver - це поважне значення, яке ми повинні згадати в тегу value
  3. Ця властивість використовується для визначення імені користувача підключення. У цьому ми визначили "hiveguru" як ім'я користувача
  4. Ця властивість використовується для згадування пароля підключення. У цьому ми визначили пароль як пароль користувача.

Після того, як властивості, розміщені в hive -site.xml, ми повинні зберегти вручну (Ctrl + S) і закрити файл. Після закриття цього файлу ми повинні створити таблицю Hive і перевірити деталі таблиці в сховищі MySQL.

Помістіть цей код у hive-site.xml

hive-site.xml


javax.jdo.option.ConnectionURLjdbc:mysql://localhost/metastore?createDatabaseIfNotExist=truemetadata is stored in a MySQL server
javax.jdo.option.ConnectionDriverNamecom.mysql.jdbc.DriverMySQL JDBC driver class
javax.jdo.option.ConnectionUserNamehiveuseruser name for connecting to mysql server
javax.jdo.option.ConnectionPasswordhivepasswordpassword 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
  • Крім цього, він також надаватиме таку інформацію, як час створення таблиці, час доступу та інші властивості, як показано на знімку екрана вище.