Як встановити та налаштувати HIVE Metastore за допомогою MYSQL

Що таке HIVE Metastore?

Метасховище Hive — це сховище, яке зберігає метадані (назви стовпців, типи даних, коментарі тощо), пов’язані з Apache Hive за допомогою MySQL or PostgreSQL. Це метасховище Hive реалізовано за допомогою таблиць у реляційній базі даних.

Навіщо використовувати MySQL у Hive як Metastore:

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

Так що рішення ось

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

Як встановити та налаштувати Hive Metastore для MySQL Database

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

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

Встановлювати MySQL як показано на скріншоті

Встановіть і налаштуйте Hive Metastore для MySQL Database

  1. Після успішного встановлення в кінці, MySQL працюватиме, як показано на знімку екрана нижче

Встановіть і налаштуйте Hive Metastore для MySQL Database

Крок 2) Встановлювати MySQL Java з'єднувач
Установка MySQL Java Роз'єм. Це для залежностей Java та з’єднання

Встановіть і налаштуйте Hive Metastore для MySQL Database

Крок 3) Створіть програмне посилання для роз’єму
Створення програмного посилання для конектора в каталозі Hive lib. Це для м’якого зв’язку між Java і MySql.

Встановіть і налаштуйте Hive Metastore для MySQL Database

Крок 4) Налаштування сховища MySql у Hive

Встановіть і налаштуйте Hive Metastore для MySQL Database

  • Введіть MySql –u root –p і пароль
  • Тут –u позначає ім’я користувача root, p позначає пароль
  • Після введення наведеної вище команди користувач має ввести дійсний пароль і натиснути Enter
  • Потім він увійде в режим оболонки MySql

Крок 5) Створіть ім'я користувача та пароль
Створення імені користувача та пароля для MySql, надання привілеїв.

Встановіть і налаштуйте Hive Metastore для MySQL Database

Ми повинні виконати команди, як показано нижче,

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 , що постійно розширюється.

Встановіть і налаштуйте Hive Metastore для MySQL Database

Встановіть і налаштуйте Hive Metastore для MySQL Database

З наведеного вище знімка екрана ми спостерігаємо наступне. Тут ми визначаємо 4 властивості, які можуть знадобитися для встановлення MYSQL як мета-сховища Вулик

Це наступне:

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

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

Розмістіть цей код у 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>

Крок 7) Створити таблицю
Створіть таблицю «guru99» у Hive.

Встановіть і налаштуйте Hive Metastore для MySQL Database

З наведеного вище знімка екрана ми бачимо наступне

  • Створення імені таблиці “guru99″ з двома назвами стовпців
  • Імена стовпців, згадані разом із їхнім типом даних, як один є цілим числом, а інший має тип рядка

На наступному кроці ми перевіримо, чи зберігається він у MySql чи ні

Крок 8) Увійдіть у режим оболонки MySql

Встановіть і налаштуйте Hive Metastore для MySQL Database

З наведеного вище знімка екрана ми бачимо наступне

  • Спочатку ми повинні використовувати базу даних як «використовувати метасховище»
  • Після того, як він вибере мета-сховище, ми можемо перевірити наявні в ньому таблиці за допомогою команди «показати» таблиці, як показано на знімку екрана
  • Незалежно від таблиць, створених у Hive, метадані відповідають тому, що таблиці зберігаються в TBLS у MySQL , що постійно розширюється.
  • «Таблиця Guur99» створюється в Hive, тому в ній зберігаються відповідні метадані MySQL під TBLS.

Крок 9) Введіть select * з TBLS
Перевірка представлення створеної таблиці MySQL чи ні

Встановіть і налаштуйте Hive Metastore для MySQL Database

Якщо ввести select * з TBLS, відобразяться таблиці, які ми створили в режимі оболонки Hive

З наведеного вище знімка екрана ми можемо побачити наступні речі:

  • Ім’я таблиці «guru99», у якій створено вулик, можна відобразити MySQL режим оболонки
  • Окрім цього, він також надасть інформацію, як-от час створення таблиці, час доступу та інші властивості, як показано на знімку екрана вище.