Установка Apache Hive с базой данных Derby и Beeline

Опубликовано: 18 Февраля, 2022

Apache Hive - это хранилище данных и мощный инструмент ETL (извлечение, преобразование и загрузка), построенный на основе Hadoop, который можно использовать с реляционными базами данных для управления и выполнения операций в СУБД. Он написан на Java и был выпущен Apache Foundation в 2012 году для людей, которые не очень хорошо знакомы с java. Hive использует язык HIVEQL, синтаксис которого очень похож на синтаксис SQL. HIVE поддерживает языки программирования C ++, Java и Python. Мы можем обрабатывать или запрашивать петабайты данных с помощью hive и SQL.

Derby также является инструментом реляционной базы данных с открытым исходным кодом, который поставляется с кустом (по умолчанию) и принадлежит apache. В настоящее время, с точки зрения отрасли, дерби используется только для целей тестирования, а для целей развертывания используется Metastore of MySqlis.

Предварительное условие: должен быть предварительно установлен Hadoop.

Шаг 1. Загрузите Hive версии 3.1.2 по этой ссылке.

Шаг 2: Поместите загруженный tar-файл в желаемое место (в нашем случае мы помещаем его в каталог / home).

Шаг 3: Теперь извлеките tar-файл с помощью команды, показанной ниже.

 tar -xvzf apache-hive-3.1.2-bin.tar.gz

Шаг 4: Теперь мы должны поместить путь к улью в файл .bashrc. Для этого используйте команду ниже.

 sudo gedit ~ / .bashrc

Путь к улью (добавьте правильный путь и название версии куста)

 экспорт HIVE_HOME = "/ home / dikshant / apache-hive-3.1.2-bin"

экспорт ПУТЬ = $ ПУТЬ: $ HIVE_HOME / bin

Поместите путь HIVE в этот файл .bashrc (не забудьте сохранить, нажмите CTRL + S). Для справки проверьте строки 122 и 123 на изображении ниже.

Шаг 5: Теперь добавьте указанное ниже свойство в файл core-site.xml. Мы можем найти файл в каталоге / home / {user-name} / hadoop / etc / hadoop . Для простоты мы переименовали мою папку hadoop-3.1.2 только в Hadoop.

 # изменить каталог
компакт-диск / домой / дикшант / hadoop / и т. д. / hadoop /

# для вывода содержимого каталога
ls

# открыть и отредактировать core-site.xml
sudo gedit core-site.xml

Свойство (не удаляйте ранее добавленные свойства Hadoop)

 <собственность>
<имя> hadoop.proxyuser.dikshant.groups </name>
<value> * </value>
</property>
<собственность>
<имя> hadoop.proxyuser.dikshant.hosts </name>
<value> * </value>
</property>
<собственность>
<имя> hadoop.proxyuser.server.hosts </name>
<value> * </value>
</property>
<собственность>
<имя> hadoop.proxyuser.server.groups </name>
<value> * </value>
</property>

Шаг 6: Теперь создайте каталог с именем / tmp в HDFS с помощью приведенной ниже команды.

 hdfs dfs -mkdir / tmp

Шаг 7: Используйте приведенную ниже команду для создания хранилища, куста и пользовательского каталога, которые мы будем использовать для хранения наших таблиц и других данных.

 hdfs dfs -mkdir / пользователь
hdfs dfs -mkdir / пользователь / куст
hdfs dfs -mkdir / пользователь / улей / склад

Теперь проверьте, успешно ли созданы каталоги с помощью приведенной ниже команды.

 hdfs dfs -ls -R / #switch -R поможет -ls повторно отображать данные / (root) hdfs 

Шаг 8: Теперь дайте разрешение на чтение, запись и выполнение всем пользователям этих созданных каталогов с помощью следующих команд.

 hdfs dfs -chmod ugo + rwx / tmp 

hdfs dfs -chmod ugo + rwx / пользователь / улей / склад

Шаг 9: Перейдите в каталог /apache-hive-3.1.2-bin/conf и измените имя файла hive-default.xml.template на hive-site.xml . Теперь в этом файле перейдите к строке №. 3215 и удалите & # 8; потому что это приведет к ошибке при инициализации базы данных derby и, поскольку она присутствует в описании, для нас это не очень важно.

Потом,

Теперь,

Шаг 10: Теперь инициализируйте базу данных derby, поскольку HIVE по умолчанию использует базу данных derby для хранения и других перспектив. Используйте приведенную ниже команду (убедитесь, что вы находитесь в каталоге apache-hive-3.1.2-bin).

 bin / schematool -dbType derby -initSchema

Шаг 11: Теперь запустите HiveServer2, используя следующую команду.

 hiveserver2

Шаг 12: Введите следующие команды на другой вкладке, чтобы запустить командную оболочку beeline.

 cd /home/dikshant/apache-hive-3.1.2-bin/bin/

beeline -n dikshant -u jdbc: hive2: // localhost: 10000 (Если у вас возникнут проблемы, попробуйте использовать hadoop вместо вашего имени пользователя)

Теперь мы успешно настроили и установили apache hive с базой данных derby.

Шаг 13: Давайте воспользуемся командой show databases, чтобы проверить, работает она или нет.

 показать базы данных;