Кандидат на обязательный компактный опыт после курса Greenplum. Перед включением проверить возможности текущего стенда и определить место рядом со сборкой факта или витринами.
Студент пишет DDL, сравнивает два варианта распределения одинаковых данных и объясняет наблюдаемую раскладку и план запроса. Выбор ключа должен подтверждаться опытом.
Место и самостоятельная часть
Нужен заполненный и проверенный набор данных; кандидат — факт продаж и связанные измерения. Студент создает свои таблицы для сравнения, выбирает ключи распределения, выполняет одинаковую нагрузку и анализирует результаты. Готовые загрузки обеспечивают входные данные.
Что предусмотреть
До написания инструкции проверить фактическое число primary-сегментов Greenplum и объем данных. Если текущая конфигурация не позволяет показать различия, сначала описать минимально необходимое изменение и его стоимость; не выдавать сравнение на одном сегменте за опыт MPP.
Выбрать один воспроизводимый сюжет: перекос при неудачном ключе или влияние распределения на обмен данными при соединении. Подготовить вход и запрос, на которых наблюдение устойчиво.
Создать и наполнить два варианта таблицы одинаковыми строками. Проверить эквивалентность наборов и результата запроса, собрать статистику.
Посмотреть число строк по сегментам и EXPLAIN/EXPLAIN ANALYZE, связать наблюдения с выбранным распределением. Не задавать обязательное ускорение в разах: вывод о плане и раскладке должен опираться на фактические результаты.
Студент выбирает вариант под данную нагрузку и объясняет его ограничения. Описать, какие учебные объекты остаются после опыта или удаляются.
Критерии этой лабораторной
Подтверждены несколько primary-сегментов, достаточный вход и воспроизводимость выбранного наблюдения.
Студент самостоятельно создает DDL и сравнивает два распределения при одинаковых данных и запросе.
Эквивалентность результатов проверена; сохранены раскладка по сегментам и планы.
Вывод опирается на наблюдения, а текст объясняет, к какой нагрузке он относится.
Зафиксированы ресурсные требования и место работы в обязательном маршруте; если опыт требует расширения стенда, решение об этом принято до выпуска задания.
Границы и результат работы автора
Подготовить задание для студента, необходимые заготовки/проверки и проверенный способ выполнения. Назвать входное состояние, самостоятельную часть, проверочные случаи и состояние для продолжения. Готовый стенд должен запускаться до лабораторной; выбранную часть разбирает уже студент во время задания. Стенд можно ломать и пересобирать, сохраняя файлы решения и понятный способ продолжения.
Материалы для автора и полное решение относятся к solution; инструкция для студента и необходимые общие средства — к main. Переносить изменения выборочно с учетом различий веток. При размещении задания обновить его место во входе в задания и связанные ссылки; существующие задания ODS, измерений и DM сохраняются.
Общая проверка готовности
Из описанного начального состояния выполнены все случаи задания на стенде; сохранены команды и наблюдаемые результаты.
Неверное решение обнаруживается предусмотренными проверками; восстановление и повторный запуск проверены там, где они входят в задание.
Инструкция на русском соответствует подготовке учащегося, различает готовые части и самостоятельные решения; результат позволяет продолжить маршрут.
Проверены ссылки и команды; git diff --check пройден. Для изменений Python/DAG выполнены make lint и make test, а пропуски тестов перечислены отдельно. Статические проверки не заменяют учебный прогон.
Part of #8
## Статус и учебный результат
Кандидат на обязательный компактный опыт после курса Greenplum. Перед включением проверить возможности текущего стенда и определить место рядом со сборкой факта или витринами.
Студент пишет DDL, сравнивает два варианта распределения одинаковых данных и объясняет наблюдаемую раскладку и план запроса. Выбор ключа должен подтверждаться опытом.
## Место и самостоятельная часть
Нужен заполненный и проверенный набор данных; кандидат — факт продаж и связанные измерения. Студент создает свои таблицы для сравнения, выбирает ключи распределения, выполняет одинаковую нагрузку и анализирует результаты. Готовые загрузки обеспечивают входные данные.
## Что предусмотреть
1. До написания инструкции проверить фактическое число primary-сегментов Greenplum и объем данных. Если текущая конфигурация не позволяет показать различия, сначала описать минимально необходимое изменение и его стоимость; не выдавать сравнение на одном сегменте за опыт MPP.
2. Выбрать один воспроизводимый сюжет: перекос при неудачном ключе или влияние распределения на обмен данными при соединении. Подготовить вход и запрос, на которых наблюдение устойчиво.
3. Создать и наполнить два варианта таблицы одинаковыми строками. Проверить эквивалентность наборов и результата запроса, собрать статистику.
4. Посмотреть число строк по сегментам и `EXPLAIN`/`EXPLAIN ANALYZE`, связать наблюдения с выбранным распределением. Не задавать обязательное ускорение в разах: вывод о плане и раскладке должен опираться на фактические результаты.
5. Студент выбирает вариант под данную нагрузку и объясняет его ограничения. Описать, какие учебные объекты остаются после опыта или удаляются.
## Критерии этой лабораторной
- [ ] Подтверждены несколько primary-сегментов, достаточный вход и воспроизводимость выбранного наблюдения.
- [ ] Студент самостоятельно создает DDL и сравнивает два распределения при одинаковых данных и запросе.
- [ ] Эквивалентность результатов проверена; сохранены раскладка по сегментам и планы.
- [ ] Вывод опирается на наблюдения, а текст объясняет, к какой нагрузке он относится.
- [ ] Зафиксированы ресурсные требования и место работы в обязательном маршруте; если опыт требует расширения стенда, решение об этом принято до выпуска задания.
## Границы и результат работы автора
Подготовить задание для студента, необходимые заготовки/проверки и проверенный способ выполнения. Назвать входное состояние, самостоятельную часть, проверочные случаи и состояние для продолжения. Готовый стенд должен запускаться до лабораторной; выбранную часть разбирает уже студент во время задания. Стенд можно ломать и пересобирать, сохраняя файлы решения и понятный способ продолжения.
Материалы для автора и полное решение относятся к `solution`; инструкция для студента и необходимые общие средства — к `main`. Переносить изменения выборочно с учетом различий веток. При размещении задания обновить его место во входе в задания и связанные ссылки; существующие задания ODS, измерений и DM сохраняются.
## Общая проверка готовности
- [ ] Из описанного начального состояния выполнены все случаи задания на стенде; сохранены команды и наблюдаемые результаты.
- [ ] Неверное решение обнаруживается предусмотренными проверками; восстановление и повторный запуск проверены там, где они входят в задание.
- [ ] Инструкция на русском соответствует подготовке учащегося, различает готовые части и самостоятельные решения; результат позволяет продолжить маршрут.
- [ ] Проверены ссылки и команды; `git diff --check` пройден. Для изменений Python/DAG выполнены `make lint` и `make test`, а пропуски тестов перечислены отдельно. Статические проверки не заменяют учебный прогон.
## Сначала прочитать
- Задачу серии #8 и [авторскую заметку](https://git.dementev.space/ddmitry/airflow-greenplum/src/branch/solution/docs/design/labs_development.md).
- [DDL факта](https://git.dementev.space/ddmitry/airflow-greenplum/src/branch/main/sql/dds/fact_flight_sales_ddl.sql)
- [Загрузка факта](https://git.dementev.space/ddmitry/airflow-greenplum/src/branch/main/sql/dds/fact_flight_sales_load.sql)
- [Витрина для выбора нагрузки](https://git.dementev.space/ddmitry/airflow-greenplum/src/branch/main/sql/dm/sales_report_load.sql)
- [Конфигурация стенда](https://git.dementev.space/ddmitry/airflow-greenplum/src/branch/main/docker-compose.yml)
- [Образ Greenplum](https://git.dementev.space/ddmitry/airflow-greenplum/src/branch/main/Dockerfile.greenplum)
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.
Part of #8
Статус и учебный результат
Кандидат на обязательный компактный опыт после курса Greenplum. Перед включением проверить возможности текущего стенда и определить место рядом со сборкой факта или витринами.
Студент пишет DDL, сравнивает два варианта распределения одинаковых данных и объясняет наблюдаемую раскладку и план запроса. Выбор ключа должен подтверждаться опытом.
Место и самостоятельная часть
Нужен заполненный и проверенный набор данных; кандидат — факт продаж и связанные измерения. Студент создает свои таблицы для сравнения, выбирает ключи распределения, выполняет одинаковую нагрузку и анализирует результаты. Готовые загрузки обеспечивают входные данные.
Что предусмотреть
EXPLAIN/EXPLAIN ANALYZE, связать наблюдения с выбранным распределением. Не задавать обязательное ускорение в разах: вывод о плане и раскладке должен опираться на фактические результаты.Критерии этой лабораторной
Границы и результат работы автора
Подготовить задание для студента, необходимые заготовки/проверки и проверенный способ выполнения. Назвать входное состояние, самостоятельную часть, проверочные случаи и состояние для продолжения. Готовый стенд должен запускаться до лабораторной; выбранную часть разбирает уже студент во время задания. Стенд можно ломать и пересобирать, сохраняя файлы решения и понятный способ продолжения.
Материалы для автора и полное решение относятся к
solution; инструкция для студента и необходимые общие средства — кmain. Переносить изменения выборочно с учетом различий веток. При размещении задания обновить его место во входе в задания и связанные ссылки; существующие задания ODS, измерений и DM сохраняются.Общая проверка готовности
git diff --checkпройден. Для изменений Python/DAG выполненыmake lintиmake test, а пропуски тестов перечислены отдельно. Статические проверки не заменяют учебный прогон.Сначала прочитать