Зачем использовать MySQL в Hive в качестве хранилища метаданных:
- По умолчанию Hive поставляется с базой данных derby в качестве хранилища метаданных.
- База данных Derby может поддерживать только одного активного пользователя одновременно
- Derby не рекомендуется в производственной среде
Итак, решение здесь
- Используйте MYSQL в качестве мета-хранилища на бэкэнде для одновременного подключения нескольких пользователей к Hive
- MYSQL - лучший выбор для автономного хранилища метаданных
Шаги по установке и настройке базы данных MySQL в Hive on Hadoop
Шаг 1) На этом шаге мы собираемся выполнить две задачи.
- Установка mysql-сервера
- Проверка mysql-сервера и его процесса
- Используя команду sudo apt-get install mysql-server, мы можем загрузить сервер mysql
Установите MySQL, как показано на скриншоте
- После успешной установки в конце 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.
Это следующие:
- Это свойство предназначено для 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» в Hive.
На скриншоте выше мы можем наблюдать следующее
- Создание имени таблицы "guru99" с двумя именами столбцов
- Имена столбцов, упомянутые с его типом данных, являются целыми числами, а другие строковыми.
На следующем шаге мы собираемся проверить, хранится ли он в MySql или нет.
Шаг 8) Вход в режим оболочки MySql
На скриншоте выше мы можем наблюдать следующее
- Сначала мы должны использовать базу данных как «хранилище метаданных».
- После того, как он выберет мета-хранилище, мы можем проверить присутствующие в нем таблицы, используя команду «показать» таблицы, как показано на снимке экрана.
- Какие бы таблицы ни создавались в Hive, метаданные соответствуют тем, что таблицы хранятся в TBLS в базе данных MySQL.
- «Таблица Guur99» создается в Hive, поэтому соответствующие метаданные хранятся в MySQL под TBLS.
Шаг 9) Проверка, представляет ли созданная таблица MySQL или нет
При вводе select * from TBLS будут отображаться таблицы, созданные в режиме оболочки Hive.
На скриншоте выше мы можем наблюдать следующие вещи:
- Таблица с именем "guru99", созданная в Hive, может отображаться в режиме оболочки MySQL.
- Помимо этого, он также предоставит информацию, такую как время создания таблицы, время доступа и другие свойства, как показано на снимке экрана выше.