В прошлый раз мы говорили про особенности работы с пользовательскими функциями (UDF) в Hive. Сегодня поговорим про основные SQL-операции в распределенной Big Data платформе Apache Hive. Также рассмотрим применение этих операций к данным, хранящимся в этой СУБД. Читайте далее про CRUD-операции в Hive и их особенности.
CRUD-операции в СУБД Apache Hive
Прежде всего отметим, что Hive — это не просто система управления базами данных (СУБД), а целая платформа экосистемы Hadoop для хранения и обработки Big Data в распределенной среде, которая дает возможность проектировать структуры больших данных (таблицы, партиции, бакеты) с помощью SQL-диалекта HiveQL (Hive Query Language). Основными базовыми базовыми операциями в Hive являются CRUD-операции. В набор этих операций входят следующие SQL-функции:
- create — функция для создания базовой структуры данных (таблицы) в Hive. Таблица в Hive — это совокупность связанных между собой данных, хранящихся в структурированном (упорядоченном) виде в базе данных.
- read — это функция для чтения данных Hive-таблицы путем их выборки (select).
- update — операция для обновления (или изменения) существующих данных.
- delete — это функция для полного удаления таблицы из базы данных Hive [1].
Каждую из этих операций мы подробнее рассмотрим на практических примерах далее.
Работа с CRUD-операциями в Hive: несколько практических примеров
Для того, чтобы начать работу с данными, необходимо создать таблицу для их хранения:
CREATE TABLE IF NOT EXISTS book ( id_book int, name char(25), price int, author char(25), date_issue date, amout int, raiting int)
Для того, чтобы заполнить таблицу данными, используется SQL-операция INSERT
[1]:
INSERT INTO TABLE book (id_book, name, price, author, date_issue, amout, raiting) VALUES (1, ‘Война и мир’, 1000, ‘Толстой Л.Н.’, ‘1867-01-01’, 100, 5)
Для того, чтобы выполнить read-операцию, используется SQL-оператор SELECT
, который получает данные и отображает их в консоль. Следующий код на диалекте HiveQL отвечает за чтение всех данных, имеющихся в таблице book
[1]:
SELECT * FROM book
Для выполнения update-операции используется SQL-функция UPDATE
, которая служит для изменения (или редактирования) записей в таблице. Следующий код на диалекте HiveQL отвечает за изменение цены на книги с рейтингом 4 [1]:
UPDATE book SET price = 900 WHERE raiting = 4
Результатом выполнения delete-операции является полное удаление таблицы или отдельных записей из нее. Для того, чтобы удалить отдельные записи их таблицы, используется оператор DELETE
с условием WHERE
(для того, чтобы удалить записи, удовлетворяющие конкретному условию). Следующий код на диалекте HiveQL отвечает за удаление информации о книгах с ценой 1000 [1]:
DELETE FROM book WHERE price=1000
Для полного удаления таблицы используется SQL-оператор DROP
:
DROP TABLE book
Таким образом, благодаря поддержке CRUD-операций, Hive обеспечивает разработчика весьма удобным и интуитивно понятным интерфейсом для работы с объектами Big Data в распределенной среде. Это делает Apache Hive весьма удобным средством для работы с Big Data.
Больше подробностей про применение Apache Hive в проектах анализа больших данных вы узнаете на практических курсах по NoSQL в нашем лицензированном учебном центре обучения и повышения квалификации ИТ-специалистов в Москве:
MPA: CLOUDERA IMPALA DATA ANALYTICS
ADQM: ЭКСПЛУАТАЦИЯ ARENADATA QUICKMARTS
ADBR: Arenadata DB для разработчиков
ADB: Эксплуатация Arenadata DB
HBASE: Администрирование кластера HBase
HIVE: Hadoop SQL администратор Hive
NoSQL: Интеграция Hadoop и NoSQL
Источники