TGViewer
дата инженеретта дата инженеретта @data_engineerette · 3.43K subscribers
Post #430 2.08K
Soft Delete Techniques
Или как понять, что ваши данные кому-то нужны

Есть два героя: Миша (продуктовый аналитик) и Артем (дата инженер). С ними случилась такая история:

🙂 привет, Миша! ты три года назад создавал таблицу user_orders_check_agg_m, она занимает 100тб, последний раз использовалась в прошлом году. она еще нужна, можно удалить?
🦔 привет! можно, мы ее готовили для экспериментов, но их отменили

Кластер задышал, ведь с репликацией это целых 300тб свободного места

Через неделю Миша приходит:

🦔 Артем, помнишь, мы обсуждали табличку user_orders_check_agg_m? у нас снова запускается эксперимент, нам срочно нужно ее восстановить!!!
😳 ......

Артем находит цепочку зависимостей:
user_orders_check_agg_m ->
user_orders_check_agg ->
user_orders_check ->
user_orders_abc, user_orders_def ->
user_orders
Причем все промежуточные таблицы уже удалены

Артем поднимает старые скрипты, адаптирует их под новую версию спарка, переписывает под новую схему данных, пересоздает таблички, тестирует, ставит на расчет. Через месяц все готово

Но команда не успела зарелизить запланированные фичи. Все клиенты ушли к конкурентам


Какие есть варианты, чтобы помочь Артему и команде меньше нервничать в следующий раз?

1️⃣Переименовать табличку - сразу найдем среди сотен процессов те, которым она нужна

ALTER TABLE exp.user_orders_check_agg_m RENAME TO exp.user_orders_check_agg_m_trash;


2️⃣Переместить в .Trash - когда мы удаляем руками из hdfs, они перемещаются в папку .Trash. Там они хранятся столько, сколько задано в fs.trash.interval при настройке кластера. Поэтому будет какое-то время прийти за ними

hdfs dfs -rm -r user_orders_check_agg_m_data

INFO fs.TrashPolicyDefault: Moved: 'hdfs://data/user_orders_check_agg_m_data' to trash at: hdfs://data/.Trash/Current/user/admin/user_orders_check_agg_m_data


3️⃣Переместить в другую папку для мусора и периодически подчищать ее

hdfs dfs -mv user_orders_check_agg_m_data some_trash_folder


Есть еще другие варианты? Или это проблема Миши, что он разрешил дропнуть таблицу? 😁
  • 🔥 16
  • ❤ 5
  • 👍 2
  • 😁 2
More from @data_engineerette
  1. Sep 25, 2026Как прошла SmartData 2026? Я вот перечитываю свои впечатления от прошлого года и понимаю,…
  2. Sep 24, 2026Исследование data-people Тут ребята из DevCrowd запустили ежегодное исследование специалис…
  3. Sep 22, 20265 октября начнется 19-й поток программы Data Engineer от Newprolab Программа для junior- и…
  4. Sep 15, 2026Каким должен быть хороший DE? Меня однажды спросили на собесе: 🤩Какие 3 качества важны дл…
  5. Sep 12, 2026Mermaid-диаграммы Наконец-то дошли руки поковыряться в mermaid-диаграммах, это что за имба…
  6. Sep 2, 2026Iceberg — это внезапный бум или планомерная подготовка? Заметили, как с определенного моме…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →