В разделе «Почему выручка не сходится» появились четыре лабораторные после ступени 1. Шесть исходных сюжетов объединены в расследования, результат которых — проверенные запросы и решения о подготовке данных для витрин.
Потерянные покупки: сверка полноты по номерам заказов, выбор источника витрины и условия окончательной проверки.
Повторы: расчет с одной строкой на заказ, проверка ключа и полноты набора номеров, выбор места устранения повторов.
Расхождение сумм: сверка позиций без потери товаров и копеек, выбор исходных полей, отделение ошибки своего разбора от различия данных источников.
Изменения во времени: наблюдение через Airflow, сохранение состояний в две свои таблицы ClickHouse и SQL-сравнение по датам; обоснование окна пересчета и требований к истории расчетов и оплаты.
Вопросы задают сравнения и способы проверки, а выводы учащийся делает по своим данным. Обновлены индекс и программа. В AGENTS.md убрано устаревшее назначение Opus автором читаемых материалов.
Для сохранения наблюдений добавлен учебный пользователь student: чтение всех источников и создание, заполнение и удаление таблиц только в default. Рабочие слои остаются для него доступны только на чтение. Исправлено описание округления productPrice в схеме и собранной из нее справке.
Для существующего стенда нужно добавить CLICKHOUSE_STUDENT_PASSWORD из .env.example в .env и пересоздать две ноды ClickHouse с сохранением томов, как описано в настройке стенда.
Продолжает идеи #186, #187 и #188. Их исходные тикеты закрыты после включения в программу.
Проверка
На ClickHouse 26.3.17.56 под analyst проверены запросы первых трех работ. Сверка находит семь заказов без события. Расчет по заказам сохраняет 211 уникальных номеров из 217 событий и устраняет завышение на 17 959,50 ₽. Сверка позиций сохраняет товар без пары стоимостью 789,90 ₽.
При исходной проверке на Airflow 3.3.0 выполнены восемь последовательных пар world_next_day → etl_pipeline; сохранены девять наблюдений заказов 10 июня. Пришли 23 опоздавших заказа, наблюдались четыре перехода paid → cancelled; денежные сверки и DQ прошли.
На сохраненной истории проверены новые инженерные выводы: расчет дня без обновлений оставляет 283 785,74 ₽, добавление только новых заказов — 359 022,80 ₽, тогда как окончательная выручка составляет 1 024 251,01 ₽. После закрытия окна состояние 265 заказов и выручка не меняются. У семи отмененных заказов оплаты в наблюдениях нет — материал для проверки границ истории.
Под student проверены DDL из лабораторной, INSERT SELECT, сохранение пустого первого наблюдения и SQL-сравнение всех восьми переходов ранее снятой истории. На обеих нодах чтение DDS работает, а попытки вставки в STG, ODS, DDS, DM и dic получают ACCESS_DENIED. Созданные проверкой таблицы удалены.
make config-test, make lint в корне и generator/, 54 локальные ссылки и git diff --check прошли. Независимое техническое ревью дефектов не нашло; выполнен проход на сокращение.
Запуски проверены через API Airflow и SQL. Полный проход учащегося через интерфейсы Airflow и DBeaver не выполнялся. Исходная проверка продвинула мир до 18 июня; для смены акцента новые модельные дни не запускались.
В разделе «Почему выручка не сходится» появились четыре лабораторные после ступени 1. Шесть исходных сюжетов объединены в расследования, результат которых — проверенные запросы и решения о подготовке данных для витрин.
- Потерянные покупки: сверка полноты по номерам заказов, выбор источника витрины и условия окончательной проверки.
- Повторы: расчет с одной строкой на заказ, проверка ключа и полноты набора номеров, выбор места устранения повторов.
- Расхождение сумм: сверка позиций без потери товаров и копеек, выбор исходных полей, отделение ошибки своего разбора от различия данных источников.
- Изменения во времени: наблюдение через Airflow, сохранение состояний в две свои таблицы ClickHouse и SQL-сравнение по датам; обоснование окна пересчета и требований к истории расчетов и оплаты.
Вопросы задают сравнения и способы проверки, а выводы учащийся делает по своим данным. Обновлены индекс и программа. В AGENTS.md убрано устаревшее назначение Opus автором читаемых материалов.
Для сохранения наблюдений добавлен учебный пользователь `student`: чтение всех источников и создание, заполнение и удаление таблиц только в `default`. Рабочие слои остаются для него доступны только на чтение. Исправлено описание округления `productPrice` в схеме и собранной из нее справке.
Для существующего стенда нужно добавить `CLICKHOUSE_STUDENT_PASSWORD` из `.env.example` в `.env` и пересоздать две ноды ClickHouse с сохранением томов, как описано в [настройке стенда](https://git.dementev.space/ddmitry/clickstream-data-platform/src/commit/bb8605eed7d80e7d3ceef94deee77a0710f7d78e/docs/architecture/stand.md#user-content-применение-настроек).
Продолжает идеи #186, #187 и #188. Их исходные тикеты закрыты после включения в программу.
### Проверка
- На ClickHouse 26.3.17.56 под `analyst` проверены запросы первых трех работ. Сверка находит семь заказов без события. Расчет по заказам сохраняет 211 уникальных номеров из 217 событий и устраняет завышение на 17 959,50 ₽. Сверка позиций сохраняет товар без пары стоимостью 789,90 ₽.
- При исходной проверке на Airflow 3.3.0 выполнены восемь последовательных пар `world_next_day` → `etl_pipeline`; сохранены девять наблюдений заказов 10 июня. Пришли 23 опоздавших заказа, наблюдались четыре перехода `paid` → `cancelled`; денежные сверки и DQ прошли.
- На сохраненной истории проверены новые инженерные выводы: расчет дня без обновлений оставляет 283 785,74 ₽, добавление только новых заказов — 359 022,80 ₽, тогда как окончательная выручка составляет 1 024 251,01 ₽. После закрытия окна состояние 265 заказов и выручка не меняются. У семи отмененных заказов оплаты в наблюдениях нет — материал для проверки границ истории.
- Под `student` проверены DDL из лабораторной, `INSERT SELECT`, сохранение пустого первого наблюдения и SQL-сравнение всех восьми переходов ранее снятой истории. На обеих нодах чтение DDS работает, а попытки вставки в STG, ODS, DDS, DM и `dic` получают `ACCESS_DENIED`. Созданные проверкой таблицы удалены.
- `make config-test`, `make lint` в корне и `generator/`, 54 локальные ссылки и `git diff --check` прошли. Независимое техническое ревью дефектов не нашло; выполнен проход на сокращение.
Запуски проверены через API Airflow и SQL. Полный проход учащегося через интерфейсы Airflow и DBeaver не выполнялся. Исходная проверка продвинула мир до 18 июня; для смены акцента новые модельные дни не запускались.
Зачем: оценка моделей изменилась, назначение Opus автором текстов устарело.
Что: автор задачи сам пишет и редактирует материалы, если владелец не назначил иное.
Проверка: git diff --check; проверены AGENTS.md, CLAUDE.md и docs/agents.
Зачем: превратить шесть идей факультативов в связный раздел из четырех работ.
Что: определены результаты работ и наблюдение за заказами через Airflow.
Проверка: git diff --check; порядок обновления данных сверен с кодом дагов.
Зачем: дать практику сверки событий покупки с заказами магазина.
Что: задания о потерях событий, повторах покупок и расхождении состава корзин.
Проверка: запросы под analyst на ClickHouse 26.3.17.56; счетчики, суммы и точный разбор JSON сошлись. make lint и независимая техническая проверка пройдены.
Зачем: связать опоздания и отмены с изменением уже рассчитанного отчета.
Что: лабораторная с сохранением состояний заказов, ссылки в индексе и программе; убраны повторы в описании раздела.
Проверка: восемь однодневных world_next_day и etl_pipeline на Airflow 3.3.0; изменения сумм сошлись до копейки, закрытый день неизменен, DQ пройдены. Проверены 54 локальные ссылки, SQL-примеры и git diff --check.
Зачем: учащемуся нужен понятный путь от наблюдений к выводу без готового ответа в задании.
Что: уточнены сравнения в четырех расследованиях; готовые объяснения заменены вопросами к строкам, расчетам и сохраненным состояниям.
Проверка: проверены 54 локальные ссылки и git diff --check; формулировки сверены с устройством источников и витрин.
ddmitry
changed title from docs(labs): добавлены четыре расследования выручки to docs(labs): добавлены четыре расследования выручки для DE2026-09-22 11:29:00 +03:00
Зачем: результатом лабораторных должны быть обоснованные решения о подготовке данных для витрин.
Что: добавлены проверяемые результаты сверки полноты, выбора ключа, точного разбора и правила пересчета; обновлены программа и индекс, убран подсчет долей потерь.
Проверка: SELECT-запросы под analyst, расчеты по сохраненной истории девяти наблюдений, 54 локальные ссылки, git diff --check и независимое техническое ревью.
ddmitry
changed title from docs(labs): добавлены четыре расследования выручки для DE to feat(labs): четыре расследования выручки и учебный доступ2026-09-22 11:57:56 +03:00
Зачем: студенту нужен понятный путь от сохраненного состояния к SQL-сравнению без доступа технической учетной записи к изменению хранилища.
Что: добавлен student с чтением источников и записью только в default; лабораторная сохраняет заказы и итоги в две локальные таблицы. Обновлены настройка доступа и программа, уточнено округление productPrice.
Проверка: DDL и INSERT SELECT под student, пустое наблюдение, восемь переходов сохраненной истории и запрет вставки в пять прикладных баз на обеих нодах. config-test, lint стенда и генератора, 54 ссылки, независимое ревью.
ddmitry
merged commit c1d3a6db9b into main2026-09-22 12:13:35 +03:00
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
В разделе «Почему выручка не сходится» появились четыре лабораторные после ступени 1. Шесть исходных сюжетов объединены в расследования, результат которых — проверенные запросы и решения о подготовке данных для витрин.
Вопросы задают сравнения и способы проверки, а выводы учащийся делает по своим данным. Обновлены индекс и программа. В AGENTS.md убрано устаревшее назначение Opus автором читаемых материалов.
Для сохранения наблюдений добавлен учебный пользователь
student: чтение всех источников и создание, заполнение и удаление таблиц только вdefault. Рабочие слои остаются для него доступны только на чтение. Исправлено описание округленияproductPriceв схеме и собранной из нее справке.Для существующего стенда нужно добавить
CLICKHOUSE_STUDENT_PASSWORDиз.env.exampleв.envи пересоздать две ноды ClickHouse с сохранением томов, как описано в настройке стенда.Продолжает идеи #186, #187 и #188. Их исходные тикеты закрыты после включения в программу.
Проверка
analystпроверены запросы первых трех работ. Сверка находит семь заказов без события. Расчет по заказам сохраняет 211 уникальных номеров из 217 событий и устраняет завышение на 17 959,50 ₽. Сверка позиций сохраняет товар без пары стоимостью 789,90 ₽.world_next_day→etl_pipeline; сохранены девять наблюдений заказов 10 июня. Пришли 23 опоздавших заказа, наблюдались четыре переходаpaid→cancelled; денежные сверки и DQ прошли.studentпроверены DDL из лабораторной,INSERT SELECT, сохранение пустого первого наблюдения и SQL-сравнение всех восьми переходов ранее снятой истории. На обеих нодах чтение DDS работает, а попытки вставки в STG, ODS, DDS, DM иdicполучаютACCESS_DENIED. Созданные проверкой таблицы удалены.make config-test,make lintв корне иgenerator/, 54 локальные ссылки иgit diff --checkпрошли. Независимое техническое ревью дефектов не нашло; выполнен проход на сокращение.Запуски проверены через API Airflow и SQL. Полный проход учащегося через интерфейсы Airflow и DBeaver не выполнялся. Исходная проверка продвинула мир до 18 июня; для смены акцента новые модельные дни не запускались.
docs(labs): добавлены четыре расследования выручкиto docs(labs): добавлены четыре расследования выручки для DEdocs(labs): добавлены четыре расследования выручки для DEto feat(labs): четыре расследования выручки и учебный доступ