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

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

    В прошлый раз мы говорили про индексы в 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.

    Больше подробностей про применение 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

     

     

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