Пререквизиты
Необходимые знания
SQL (уверенный уровень)
Вы должны свободно писать SELECT с JOIN, GROUP BY, оконными функциями. Многие примеры в курсе используют SQL для демонстрации того, как формат влияет на выполнение запросов.
Python (базовый уровень)
Практические примеры используют Python для чтения/записи файлов в разных форматах. Достаточно понимать:
- Работа с файлами (
open,read,write) - Основные структуры данных (dict, list)
- Установка пакетов через pip
Data Engineering (базовые концепции)
Курс предполагает, что вы понимаете:
- Разницу между OLTP и OLAP
- Что такое ETL/ELT pipeline
- Базовые концепции Data Lake и Data Warehouse
- Понятие партиционирования данных
Если вы не уверены в DE-фундаменте — рекомендуем сначала пройти курс «System Design для Data Engineer» на этой платформе.
Рекомендуемые инструменты
DuckDB CLI
DuckDB — встроенный аналитический движок, который умеет читать Parquet, ORC, CSV, JSON без внешних зависимостей. Мы используем его для быстрых экспериментов с форматами.
# macOS
brew install duckdb
# Linux
curl -LO https://github.com/duckdb/duckdb/releases/latest/download/duckdb_cli-linux-amd64.zip
unzip duckdb_cli-linux-amd64.zip
Docker
Некоторые практические задания используют Docker для запуска Spark, Trino или MinIO. Установите Docker Desktop или Docker Engine.
Python 3.10+
# Проверить версию
python3 --version
# Основные пакеты (установим по мере необходимости в уроках)
pip install pyarrow pandas duckdb
Не нужно устанавливать всё сразу. Каждый модуль содержит инструкции по установке необходимых инструментов. DuckDB — единственный инструмент, который понадобится с первого модуля.
Что НЕ требуется
- Spark — понимание Spark полезно, но не обязательно. Все концепции объясняются engine-agnostic
- Облачный аккаунт — все примеры работают локально
- Hadoop — курс не требует знания HDFS или Hadoop ecosystem
- JVM/Java — хотя многие форматы написаны на Java, мы работаем через Python API