From 7fc12fb8c95a4c6cf6e112168ccc84ab1009ae28 Mon Sep 17 00:00:00 2001 From: Dmitry Dementev Date: Mon, 24 Aug 2026 14:09:15 -0400 Subject: [PATCH] =?UTF-8?q?docs(dds):=20=D0=B2=D1=8B=D1=87=D0=B8=D1=82?= =?UTF-8?q?=D0=B0=D0=BD=20=D0=BA=D0=BE=D0=BD=D1=82=D1=80=D0=B0=D0=BA=D1=82?= =?UTF-8?q?=20=D1=81=D0=BE=D0=B1=D1=8B=D1=82=D0=B8=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Зачем: - горячее ревью резолюции #132 нашло шероховатости, мешающие читателю. - Что: - срезан дубль про event_date из «Языка модели» — факт живёт в «Форме», расхождений имён осталось два. - выровнены префиксы dm. в «Читателях», распутана фраза про два слоя DQ-сверки, ссылка на спеку — в домашнем стиле. - Проверка: - вычитка. Co-Authored-By: Claude Fable 5 --- docs/architecture/dds/event.md | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/docs/architecture/dds/event.md b/docs/architecture/dds/event.md index 4a19fa6..069a25f 100644 --- a/docs/architecture/dds/event.md +++ b/docs/architecture/dds/event.md @@ -26,7 +26,7 @@ Имена атрибутов — имена модели, а не нормализованные имена источника ([CONTEXT.md](../../../CONTEXT.md), «Нормализованное имя»). Для большинства колонок они совпадают: атрибут переезжает под нормализованным именем из -[описания выгрузки](../../formats/clickstream-event.md). Расхождений три, +[описания выгрузки](../../formats/clickstream-event.md). Расхождения два, и каждое — решение модели: - **`WatchID` → `event_id`**: модель зовёт сущность событием, «watch» — @@ -36,7 +36,6 @@ хранилища](../storage.md), «Часовые пояса»). Пересчёт — смена линзы, байты те же, проталкиванию не мешает. Второй метки времени контракт не отдаёт: выбор линзы слой сделал за читателя, UTC остаётся языком ODS. -- **`EventDate` → `event_date`** — переименованием, см. «Форма». `ClientID` остаётся `client_id`: это устоявшееся имя куки во всей экосистеме Метрики, по нему шардирование и мост к `dds.identity_map`; @@ -47,7 +46,7 @@ Одна: `device_category` — коды 1–4 в строки `desktop` / `mobile` / `tablet` / `tv`. У настоящей Метрики этот атрибут и есть строка (выгрузка -стенда несёт число — принятое отступление, спека 1.1), контракт возвращает +стенда несёт число — принятое отступление: спека, раздел 1.1), контракт возвращает ему боевой вид. Другие коды остаются кодами. `goals_reached` — справочника целей на стенде @@ -61,8 +60,8 @@ issue #143. - **`VisitID`** — чужой суррогат сессии: свою сессию модель чеканит сама (`session_id`, [модель сессии](session.md)), а эталон — инструмент проверки, не атрибут модели. DQ-сверка нарезки идёт за эталоном в - `ods.event_v`: она по построению сопоставляет наш слой с чужим чеканом, - и честно, что за его сторону она ходит в его слой. + `ods.event_v`: она по построению сопоставляет наш слой с чужим чеканом — + честно, что за чужим она и идёт в его слой. - **`Sign`** — колонка формата без механики: генератор исправлений не шлёт, и в модели события колонке ответить нечего. Честный рассказ о ней живёт в DDL ODS и лекции. @@ -83,9 +82,9 @@ issue #143. - Сборка `dds.session`: ключи нарезки (`client_id`, `event_time`, `event_date`), тип события, страница, UTM, паспорт куки — категория устройства приходит уже расшифрованной. -- Витрины `dm.events_enriched_v`, `top_pages_daily_v`, - `utm_effectiveness_v` (`declared_revenue` — из `purchase_revenue`), - `daily_traffic_v` (пара «посетители / известные» через `identity_map`). +- Витрины `dm.events_enriched_v`, `dm.top_pages_daily_v`, + `dm.utm_effectiveness_v` (`declared_revenue` — из `purchase_revenue`), + `dm.daily_traffic_v` (пара «посетители / известные» через `identity_map`). - Событийная сторона сверки `dm.purchase_vs_orders_v`: `purchase_id`, `purchase_revenue`, `event_date`. - DQ-сверка сессий с эталоном читает не его, а `ods.event_v` —