feat(course): добавлен модуль 3 про raw ingest и чтение в Spark
- Зачем: - нужен следующий практический шаг после модулей 1-2: доставить raw-данные в MinIO и впервые прочитать их через Spark. - Что: - добавлен ноутбук модуля 3 с raw ingest, first read, проверкой схемы, null-анализом и поиском аномалий. - обновлены START_HERE, stack reference и docker-compose для data bundle в ./data и mount в /opt/data. - добавлены правила игнорирования data bundle, .gitkeep для пустой директории и обновлён статус плана модуля. - Проверка: - docker compose config. - выполнение notebooks/03_raw_ingest_and_first_read.ipynb на локальном data bundle.
This commit is contained in:
+41
-4
@@ -1,6 +1,6 @@
|
||||
# START HERE
|
||||
|
||||
Этот документ нужен для первого входа в курс и прохождения Модуля 1: поднять стенд, проверить сервисы, открыть интерфейсы и выполнить базовый smoke test.
|
||||
Этот документ нужен для первого входа в курс: поднять стенд, проверить сервисы, открыть интерфейсы, выполнить базовый smoke test и подготовить локальный data bundle для следующих модулей.
|
||||
|
||||
## Маршрут прохождения
|
||||
|
||||
@@ -9,7 +9,8 @@
|
||||
3. Убедиться, что контейнеры живы.
|
||||
4. Открыть основные UI.
|
||||
5. Зайти в Jupyter и выполнить `notebooks/01_environment_and_smoke_test.ipynb`.
|
||||
6. При проблемах использовать логи и шаги диагностики из этого документа.
|
||||
6. Перед Модулем 3 подготовить учебный датасет в `./data/nyc_taxi`.
|
||||
7. При проблемах использовать логи и шаги диагностики из этого документа.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
@@ -100,8 +101,10 @@ notebooks/01_environment_and_smoke_test.ipynb
|
||||
|
||||
- `./notebooks` смонтирован в контейнер как `/opt/work`;
|
||||
- `./src` смонтирован read-only как `/opt/src`;
|
||||
- `./data` смонтирован read-only как `/opt/data`;
|
||||
- `PYTHONPATH=/opt/src`, поэтому helper-скрипты из `src/` доступны для импорта в ноутбуках;
|
||||
- первый ноутбук курса: `01_environment_and_smoke_test.ipynb`.
|
||||
- первый ноутбук курса: `01_environment_and_smoke_test.ipynb`;
|
||||
- локальный учебный data bundle для Модуля 3 должен быть доступен внутри Jupyter по пути `/opt/data/nyc_taxi`.
|
||||
|
||||
## Базовая диагностика
|
||||
|
||||
@@ -146,8 +149,42 @@ docker compose up -d
|
||||
|
||||
Используй полный reset, если хочешь пройти практику заново с чистого состояния.
|
||||
|
||||
## Подготовка учебного датасета (перед Модулем 3)
|
||||
|
||||
Перед `notebooks/03_raw_ingest_and_first_read.ipynb` нужно заранее скачать учебный data bundle на хост, а не изнутри ноутбука.
|
||||
|
||||
Скачай каноническое учебное подмножество `NYC TLC Yellow Taxi Trip Records`:
|
||||
|
||||
```bash
|
||||
curl -fLo data/nyc_taxi/yellow_tripdata_2024-01.parquet \
|
||||
https://d37ci6vzurychx.cloudfront.net/trip-data/yellow_tripdata_2024-01.parquet
|
||||
curl -fLo data/nyc_taxi/yellow_tripdata_2024-02.parquet \
|
||||
https://d37ci6vzurychx.cloudfront.net/trip-data/yellow_tripdata_2024-02.parquet
|
||||
curl -fLo data/nyc_taxi/yellow_tripdata_2024-03.parquet \
|
||||
https://d37ci6vzurychx.cloudfront.net/trip-data/yellow_tripdata_2024-03.parquet
|
||||
curl -fLo data/nyc_taxi/taxi_zone_lookup.csv \
|
||||
https://d37ci6vzurychx.cloudfront.net/misc/taxi_zone_lookup.csv
|
||||
```
|
||||
|
||||
Проверь, что файлы на месте:
|
||||
|
||||
```bash
|
||||
ls -lh data/nyc_taxi/
|
||||
```
|
||||
|
||||
Минимальный набор для курса:
|
||||
|
||||
- `yellow_tripdata_2024-01.parquet`
|
||||
- `yellow_tripdata_2024-02.parquet`
|
||||
- `yellow_tripdata_2024-03.parquet`
|
||||
- `taxi_zone_lookup.csv`
|
||||
|
||||
Если хочешь расширенный режим, можешь скачать все 12 месяцев `2024`, но основной маршрут курса и примеры опираются на первые 3 месяца.
|
||||
|
||||
## Что делать дальше
|
||||
|
||||
- пройти `notebooks/01_environment_and_smoke_test.ipynb`;
|
||||
- пройти `notebooks/02_lakehouse_mental_model.ipynb`;
|
||||
- подготовить data bundle по инструкции выше и пройти `notebooks/03_raw_ingest_and_first_read.ipynb`;
|
||||
- свериться с программой курса в `docs/course_program.md`;
|
||||
- после прохождения Модуля 1 переходить к следующим учебным материалам.
|
||||
- после прохождения первых модулей переходить к следующим учебным материалам.
|
||||
|
||||
Reference in New Issue
Block a user