5.6 KiB
Исходники карты DWH
Готовый файл - ../architecture-map.html. Откройте его локально в браузере. Для самой карты сервер и интернет не требуются. Ссылки на SQL, DAG и Markdown открывают Gitea, поэтому для переходов нужен интернет. Учебный маршрут находится в руководстве о структуре.
Редактирование и сборка
map.json- единственный каталог объектов, полей, связей и текстов карточек.template.html- интерфейс. SVG, карточки, постоянная раскладка и выделение адаптированы изclickstream-data-platform/docs/handbook/architecture-map/template.html.render.py- сборка автономного HTML и статические проверки. Нужны uv и Python 3.11 или новее; пакеты Python и JavaScript не требуются. JSON заменяет YAML образца, чтобы сборка обходилась стандартной библиотекой.
Из корня репозитория:
uv run docs/design/architecture-map/render.py
uv run docs/design/architecture-map/render.py --check
Правьте исходники, затем пересобирайте HTML. --check сверяет:
имена объектов с DDL/PXF, важные поля и поля связей, статусы загрузок и DQ,
входы готовых SQL со стрелками потока, файлы и разделы по ссылкам,
уникальность идентификаторов и позиций, свежесть HTML.
Проверка входов учитывает именованные таблицы в FROM/JOIN;
смысл соединений нужно сверять при изменении SQL вручную.
repository_url в map.json задает адрес Gitea с окончанием /src/.
В нем нет имени ветки или коммита: Gitea открывает файл из текущей ветки
по умолчанию. Пути в links остаются относительными к готовому HTML,
чтобы сборка проверяла файлы и разделы в локальном репозитории;
интерфейс преобразует их в адреса Gitea. Ссылки вида #node=… остаются
в локальной карте. Ссылка на руководство в шапке собирается из того же адреса.
Внешние stg.*_ext представлены в карточках STG, поскольку это входы чтения,
а не еще одна копия данных. Поля источника сверяются с контрактом PXF.
Для заглушек используются DDL и docs/assignment/analyst_spec.md.
Новые предположения о поведении загрузок в карточки не добавляйте.
Адреса объектов
../architecture-map.html#node=ods.airplanes выбирает таблицу.
Дополнение &view=keys включает связи по ключам; без него показан поток данных.
Идентификатор равен полному имени таблицы и не зависит от позиции в карте.
Неизвестный адрес возвращает обзор с сообщением. Назад/вперед в браузере
восстанавливают предыдущий выбор и вид связей.
Проверка в браузере
Статические проверки не заменяют этот проход:
- Откройте готовый HTML с диска. Убедитесь, что видны пять слоев, имена таблиц и пометки заданий; ошибок JavaScript нет.
- Выберите
bookings.tickets, затемods.segmentsиdds.fact_flight_sales. Проверьте источники, потребителей и карточки связей. Снимите выделение повторным выбором, кнопкой "Общий вид" и клавишей Esc. - Для выбранных билета, факта и
dds.dim_airplanesпереключите оба вида: выбор, позиции и прокрутка карты должны сохраниться. - У факта откройте обе роли
dim_airports, путь черезods.routesи выбор версииdim_routes. Проверьте отдельные карточки связей. - Откройте адрес объекта, обновите страницу, проверьте назад/вперед. Откройте DDL, загрузку, DQ, DAG и пункт задания из карточки в Gitea. Проверьте форматирование Markdown, подсветку кода и переход к разделу задания. Ссылка на таблицу должна открывать локальную карту с тем же выбором.
- Проверьте выбор клавишами Enter/пробел и вид на узком экране. На узком экране карта прокручивается, карточка находится под ней.