Конфигурация хранилища метаданных HIVE с помощью MYSQL

Anonim

Зачем использовать MySQL в Hive в качестве хранилища метаданных:

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

Итак, решение здесь

  • Используйте MYSQL в качестве мета-хранилища на бэкэнде для одновременного подключения нескольких пользователей к Hive
  • MYSQL - лучший выбор для автономного хранилища метаданных

Шаги по установке и настройке базы данных MySQL в Hive on Hadoop

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

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

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

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

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

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

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

  • Введите 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» в Hive.

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

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

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

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

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

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

Шаг 9) Проверка, представляет ли созданная таблица MySQL или нет

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

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

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