Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Фёдор Ерастов. hive> drop table, или история обновления схемы. Um MeetUp #6

Фёдор Ерастов. hive> drop table, или история обновления схемы. Um MeetUp #6

Фёдор Ерастов, инженер-разработчик в проекте Lumiere (Cinema) "Модели пользователя".
Um MeetUp #6
Тема: hive> drop table, или история обновления схемы.
Кулстори об одном "успешном" обновлении схемы таблицы в hive, какие интересные особенности поведения hive мы при этом узнали, и много мемов.

Artyom Vybornov

October 23, 2019
Tweet

More Decks by Artyom Vybornov

Other Decks in Programming

Transcript

  1. • узнать про hive и hdfs • узнать о видах

    таблиц в hive • примерно понимать, что делать с кастомными форматами в hive • послушать кулстори и хорошо провести время :) Зачем?
  2. Hive Ход работы: 1. Добавить поле в таблицу с сырыми

    логами 2. Добавить поле в ORC таблицу 3. Создать (восстановить) партиции на обеих таблицах 4. Поправить скрипт перекачивания Kafka Fetcher raw Храним: 1 месяц ORC Храним: 2 года HDFS Скрипт
  3. 1. Добавить поле через ALTER 2. Удалить партиции 3. Создать

    партиции заново 1. Удалить таблицу 2. Создать таблицу заново, с нужным полем 3. Восстановить партиции через MSCK REPAIR
  4. MANAGED TABLE • Команды: ARCHIVE, UNARCHIVE, TRUNCATE, MERGE, CONCATENATE •

    ACID/Транзакционность • Кэширование запросов • Команда DROP удаляет ВСЁ!!! EXTERNAL TABLE • Подключение любых хранилищ • Команда DROP удаляет только метаинформацию
  5. Hive Kafka Fetcher raw Храним: 1 месяц ORC Храним: 2

    года HDFS Скрипт json begun Храним за все времена, примерно 3 года!
  6. Вариант 1 • CREATE TABLE .. ROW FORMAT DELIMITED FIELDS

    TERMINATED BY '\t' • Затем split(column, ‘=’)[1]
  7. SerDe Файл в hdfs Строки в hive таблице Deserialize Чтение

    SerDe Файл в hdfs Строки в hive таблице Serialize Запись
  8. В итоге: • Всё успешно распарсилось • Перекачалось • Данные

    восстановлены • А я всё ещё работаю в Rambler
  9. Записки на полях • НЕ ДЕЛАТЬ DROP TABLE ПРИ ДОБАВЛЕНИИ

    ПОЛЕЙ!!!! • Убедиться, что создана домашняя директория в HDFS • На всякий случай подучить Джаву • Быть аккуратнее с DROP TABLE, в принципе