Базовые DML-операции в Apache Hive: основы NoSQL Big Data для начинающих

big data курсы москва, курсы по greenplum, курс разработчиков arenadata db, курсы по sparksql, курсы spark sql, apache hive, курсы etl, курсы для инженеров данных, курсы по apache spark, курсы по kafkasql, курсы администраторов spark

В прошлый раз мы говорили про индексы в 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
big data курсы москва, курсы по greenplum, курс разработчиков arenadata db, курсы по sparksql, курсы spark sql, apache hive, курсы etl, курсы для инженеров данных, курсы по apache spark, курсы по kafkasql, курсы администраторов spark
Содержимое таблицы 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

Записаться на курс

Смотреть раcписание

 

Источники

  1. https://data-flair.training/blog/hive-dml-commands/#UPDATE-command

 

 

Добавить комментарий

Поиск по сайту