Как установить и настроить 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 База данных

Шаг 1) Установите MySQL серверу
На этом этапе мы собираемся выполнить две задачи

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

Установите MySQL как показано на скриншоте

Установите и настройте Hive Metastore для MySQL База данных

  1. После успешной установки в конце, MySQL будет работать, как показано на снимке экрана ниже

Установите и настройте Hive Metastore для MySQL База данных

Шаг 2) Установите MySQL Java соединитель
Установка MySQL Java Разъем. Это для зависимостей Java и целей подключения.

Установите и настройте Hive Metastore для MySQL База данных

Шаг 3) Создать мягкую ссылку для соединителя
Создание программной ссылки для соединителя в каталоге Hive lib. Это для мягкой связи между Java и MySql.

Установите и настройте Hive Metastore для MySQL База данных

Шаг 4) Настройка хранилища MySql в Hive

Установите и настройте Hive Metastore для MySQL База данных

  • Введите MySql –u root –p, а затем пароль.
  • Здесь –u представляет имя пользователя root, p обозначает пароль
  • После ввода приведенной выше команды пользователь должен ввести действительный пароль и затем нажать Enter.
  • Затем он войдет в режим оболочки MySql.

Шаг 5) Создать имя пользователя и пароль
Создание имени пользователя и пароля для MySql, предоставление привилегий.

Установите и настройте Hive Metastore для 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 .

Установите и настройте Hive Metastore для MySQL База данных

Установите и настройте Hive Metastore для MySQL База данных

На скриншоте выше мы видим следующее. Здесь мы определяем 4 свойства, которые могут быть необходимы для установки MYSQL как метахранилища в Hive

Это следующие:

  1. Это свойство предназначено для URL-адреса подключения. Здесь мы определяем ConnectionURL в этом свойстве. Он действует как соединение JDBC и также представляет местоположение метахранилища.
  2. Это свойство предназначено для имени драйвера подключения. Здесь mysql.jdbc.Driver — это уважаемое значение, которое мы должны указать в теге значения.
  3. Это свойство используется для определения имени пользователя соединения. При этом мы определили «hiveguru» как имя пользователя.
  4. Это свойство используется для указания пароля подключения. При этом мы определили пароль как пароль пользователя.

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

Поместите этот код в hive-site.xml.

улей-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 База данных

На скриншоте выше мы можем наблюдать следующее

  • Создание таблицы с именем «guru99» с двумя именами столбцов.
  • Имена столбцов указаны с указанием их типа данных, поскольку один из них является целочисленным, а другой имеет строковый тип.

На следующем шаге мы проверим, хранится ли он в MySql или нет.

Шаг 8) Войдите в режим оболочки MySql

Установите и настройте Hive Metastore для MySQL База данных

На скриншоте выше мы можем наблюдать следующее

  • Сначала нам нужно использовать базу данных как «использовать метахранилище».
  • Как только он выберет метахранилище, мы сможем проверить присутствующие в нем таблицы, используя команду «показать» таблицы, как показано на снимке экрана.
  • Какие бы таблицы ни создавались в Hive, метаданные соответствуют тем, что таблицы хранятся в TBLS в MySQL .
  • «Таблица Guur99» создается в Hive, поэтому соответствующие метаданные хранятся в MySQL под ТБЛС.

Шаг 9) Введите выберите * из TBLS
Проверка представления созданной таблицы MySQL или нет

Установите и настройте Hive Metastore для MySQL База данных

При вводе select * from TBLS будут отображаться таблицы, которые мы создали в режиме оболочки Hive.

На скриншоте выше мы можем наблюдать следующие вещи:

  • Имя таблицы «guru99», созданной в Hive, можно отобразить в MySQL режим оболочки
  • Помимо этого, он также предоставит такую ​​​​информацию, как время создания таблицы, время доступа и другие свойства, как показано на снимке экрана выше.