Apache Hive - начало работы с базой данных HQL Creation and Drop Database

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

Предварительные требования: установка Hive 3.1.2, установка Hadoop 3.1.2

HiveQL или HQL - это язык запросов Hive, который мы использовали для обработки или запроса структурированных данных в Hive. Синтаксис HQL очень похож на MySQL, но имеет некоторые существенные отличия. Мы будем использовать команду hive , которая представляет собой сценарий оболочки bash, чтобы завершить демонстрацию улья с помощью CLI (интерфейса командной строки). Мы можем легко запустить оболочку hive, просто набрав hive в терминале. Убедитесь, что каталог / bin вашей установки улья указан в файле .basrc. Файл .bashrc запускается автоматически, когда пользователь входит в систему. и все необходимое команды, упомянутые в этом файле сценария, будут выполняться. Мы можем просто проверить, доступен ли каталог / bin или нет, просто открыв его с помощью команды, как показано ниже.

 sudo gedit ~ / .bashrc 

В случае, если путь не добавлен, добавьте его, чтобы мы могли напрямую запускать оболочку улья из терминала, не переходя в каталог улья. В противном случае мы можем запустить куст вручную, перейдя в каталог apache-hive-3.1.2 / bin / и нажав команду hive .

Перед выполнением куста убедитесь, что все ваши демоны Hadoop запущены и работают. Мы можем просто запустить весь демон Hadoop с помощью следующей команды.

 start-dfs.sh # это запустит namenode, datanode и вторичный namenode

start-yarn.sh # это запустит диспетчер узлов и диспетчер ресурсов  

jps # Чтобы проверить запущенные демоны

Базы данных в Apache Hive

База данных - это схема хранения, содержащая несколько таблиц. Базы данных Hive относятся к пространству имен таблиц. Если вы не укажете имя базы данных по умолчанию, Hive будет использовать свою базу данных по умолчанию для создания таблиц и других целей. Создание базы данных позволяет нескольким пользователям создавать таблицы с одинаковыми именами в разных схемах, чтобы их имена не совпадали.

Итак, давайте запустим нашу оболочку улья для выполнения наших задач с помощью следующей команды.

 улей

Просмотрите уже существующие базы данных, используя команду ниже.

 показать базы данных; # это покажет существующие базы данных  

Создать синтаксис базы данных:

Мы можем создать базу данных с помощью приведенной ниже команды, но если база данных уже существует, в этом случае Hive выдаст ошибку.

 CREATE DATABASE | SCHEMA <имя базы данных> # мы можем использовать DATABASE или SCHEMA для создания БД

Пример:

CREATE DATABASE Test;            # create databse with name Test

show databases;                  # this will show the existing databases 

Если мы снова попытаемся создать куст базы данных Test, будет выдано сообщение об ошибке / предупреждение о том, что база данных с именем Test уже существует. В общем, мы не хотим получать ошибку, если база данных существует. Поэтому мы используем команду create database с предложением [IF NOT EXIST]. Это не вызовет никаких ошибок.

 СОЗДАТЬ БАЗУ ДАННЫХ | СХЕМА [ЕСЛИ НЕ СУЩЕСТВУЕТ] <имя базы данных>

Пример:

 СОЗДАТЬ СХЕМУ, ЕСЛИ НЕ СУЩЕСТВУЕТ Test1;

ПОКАЗАТЬ БАЗЫ ДАННЫХ;

Синтаксис для удаления существующих баз данных:

 DROP DATABASE <db_name>; или DROP DATABASE IF EXIST <db_name> # Предложение IF EXIST снова используется для подавления ошибки

Пример:

 УДАЛИТЬ БАЗУ ДАННЫХ, ЕСЛИ СУЩЕСТВУЕТ Тест;

DROP DATABASE Test1;  

Теперь выйдите из оболочки улья с помощью команды quit.

 покидать;