Перейти к основному содержимому
Mikael Thorup
Senior Analytics Engineer at Lunar
View All Authors

Ускорьте работу с документацией: Генерация документации для целых папок сразу

· 9 мин. чтения
Mikael Thorup
Senior Analytics Engineer at Lunar

В Lunar большинство наших dbt моделей берут данные из событийно-ориентированной архитектуры. Например, у нас есть следующие модели для папки activity_based_interest в нашем слое загрузки:

  • activity_based_interest_activated.sql
  • activity_based_interest_deactivated.sql
  • activity_based_interest_updated.sql
  • downgrade_interest_level_for_user.sql
  • set_inactive_interest_rate_after_july_1st_in_bec_for_user.sql
  • set_inactive_interest_rate_from_july_1st_in_bec_for_user.sql
  • set_interest_levels_from_june_1st_in_bec_for_user.sql

Это приводит к тому, что многие одинаковые колонки (например, account_id) существуют в разных моделях, в разных слоях. Это означает, что я в итоге:

  1. Пишу/копирую одну и ту же документацию снова и снова
  2. На полпути понимаю, что могу улучшить формулировку, чтобы сделать ее более понятной, и возвращаюсь, чтобы обновить файлы .yml, которые уже сделал
  3. Понимаю, что сделал синтаксическую ошибку в своем файле .yml, поэтому возвращаюсь и исправляю ее
  4. Понимаю, что колонки определены по-разному с использованием разных формулировок в других папках нашего проекта dbt
  5. Переосмысливаю свой выбор карьеры и молюсь, чтобы большая языковая модель украла мою работу
  6. Задумываюсь, есть ли лучший способ генерировать документацию, используемую в разных моделях