В прошлый раз мы говорили про индексы в Hive. Сегодня поговорим про DML-операции в этой распределённой Big Data платформе. Также рассмотрим применение этих операций к данным, хранящимся в этой СУБД. Читайте далее про DML-операции в Hive и их особенности.
DML-операции в СУБД Apache Hive
DML-операции (Data Manipulation Language) — это язык манипулирования данных, команды которого могут использоваться для хранения, извлечения, изменения, удаления и обновления данных. В Hive используются такие команды манипулирования данными, как [1]:
LOAD
— команда, которая отвечает за загрузку данных из файловой системы в существующую Hive-таблицу;INSERT
— команда отвечающая за ручное заполнение (вставку данных) в таблицы Hive;UPDATE
— обновление (редактирование) имеющихся данных в таблицах (или партициях);SELECT
— команда для получения (вывода на экран) данных из одной или нескольких таблиц в Hive;EXPORT
— SQL-команда для выгрузки имеющихся данных в таблице в файловую систему (посредством записи в файл);DELETE/DROP
— командs, отвечающие за удаление конкретных данных (по условию) из таблицы или всей таблицы целиком.
Применение каждой из этих команд мы подробнее рассмотри далее.
Работа с DML-операциями в 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-команда LOAD
(при этом количество столбцов таблицы должно соответствовать количеству столбцов в файле) [1]:
LOAD DATA LOCAL INPATH ‘/home/hive/bookdata’ INTO TABLE book
Если файл находится в локальном хранилище (в локальной файловой системе), то при загрузке данных необходимо указывать оператор LOCAL
и путь к файлу, отвечающий за локальную загрузку данных. В случае, если загрузка данных производится из других хранилищ (файловых систем), оператор LOCAL
не указывается, а для того, чтобы загрузить данные из другого источника, необходимо указать URL этого источника. Для того, чтобы полностью заменить содержимое таблицы содержимым файла, необходимо указать оператор OVERWRITE [1]:
LOAD DATA LOCAL INPATH ‘/home/hive/bookdata’ OVERWRITE INTO TABLE book
Для того, чтобы заполнить таблицу данными, используется SQL-операция INSERT
[1]:
INSERT INTO TABLE book (id_book, name, price, author, date_issue, amout, raiting) VALUES (1, ‘Война и мир’, 1000, ‘Толстой Л.Н.’, ‘1867-01-01’, 100, 5)
Для команды INSERT
также доступен режим замены данных новыми с помощью команды OVERWRITE
[1]:
INSERT OVERWRITE INTO TABLE book (id_book, name, price, author, date_issue, amout, raiting) VALUES (1, ‘Война и мир’, 1000, ‘Толстой Л.Н.’, ‘1867-01-01’, 100, 5)
Команда SELECT
используется для получения (вывода) данных на экран. Данная команда также является одной из CRUD-операций. Следующий код на диалекте HiveQL отвечает за чтение всех данных, имеющихся в таблице book
[1]:
SELECT * FROM book
SQL-операция UPDATE
служит для изменения (или редактирования) записей в таблице. Следующий код на диалекте HiveQL отвечает за изменение цены на книги с рейтингом 4 [1]:
UPDATE book SET price = 900 WHERE raiting = 4
Для того, чтобы выгрузить данные из таблицы и сохранить их в файл (в файловой системе HDFS), используется команда EXPORT
:
EXPORT TABLE book TO ‘book_from_hive’
Для того, чтобы удалить существующую таблицу в Hive используется команда DROP
, которая также является одной из CRUD-операций:
DROP TABLE book
Для удаления определённой записи из таблицы по условию используется команда DELETE
:
DELETE FROM book WHERE price=1000
Таким образом, благодаря поддержке DML-операций, Hive обеспечивает разработчика весьма удобным и интуитивно понятным интерфейсом для работы с объектами Big Data в распределенной среде. Это делает Apache Hive весьма удобным средством для работы с Big Data.
Администрирование кластера HBase
Код курса
HBASE
Ближайшая дата курса
по запросу
Продолжительность
32 ак.часов
Стоимость обучения
96 000 руб.
Больше подробностей про применение 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
Источники