Перейти к содержимому
Учи.Онлайн Выбрать школу
Статья

Большие данные (big data): с чего начать, что изучить и как практиковаться

Большие данные — инженерная область, которая начинается там, где одного сервера перестаёт хватать: данных слишком много, они поступают непрерывно или их обработка на одной машине тянется часами. Специалисты раскладывают файлы по кластеру HDFS или объектному хранилищу S3, пишут задания для Spark, которые считаются на многих узлах сразу, принимают потоки событий через Kafka, загружают их в колоночные базы вроде ClickHouse и собирают из этого конвейеры, которые по расписанию запускает Airflow. Для старта нужны SQL, Python и Linux, дальше — распределённое хранение, обработка и практика на учебном стенде.

Автор: редакция Учи.ОнлайнОтветственный редактор: Дмитрий Игнатьев
Содержание
Иллюстрация к статье: Большие данные (big data): с чего начать, что изучить и как практиковаться

Частое заблуждение — считать большими любые данные, которые не открываются в Excel. Таблица на десятки миллионов строк нередко спокойно живёт в одной базе PostgreSQL, и кластер ради неё — лишние расходы. Big data отвечает на другой вопрос: что сломается, когда данных станет в десять раз больше или они начнут приходить каждую секунду. Поэтому здесь говорят не о графиках, а о том, где лежат данные, как задание переживёт падение узла и во что обойдётся хранение за год.

Из чего состоит работа с большими данными

Работу удобно разложить на пять действий. У маркетплейса, банка и оператора связи они одни и те же, различаются инструменты и масштаб.

Хранение. В HDFS файл режется на блоки — по документации Apache Hadoop, типичный размер блока 128 МБ, — и каждый блок хранится в нескольких копиях на разных машинах. При обычном коэффициенте репликации три одна копия лежит в стойке, откуда идёт запись, две другие — в другой стойке, так что объём считают с учётом копий. Список файлов и блоков узел NameNode держит в памяти, поэтому миллионы мелких файлов нагружают кластер сильнее тех же гигабайт в крупных.

Обработка. Spark делит задание на части и раздаёт их узлам кластера. Специалист пишет преобразование на SQL, Python или Scala и выясняет, почему одна часть считается намного дольше остальных: например, на один ключ пришлась половина строк.

Потоки. Kafka принимает события — клики, платежи, показания датчиков — и хранит их в топиках, откуда потребители читают каждый в своём темпе. Поток нужен, когда ответ важен через секунды, например при проверке подозрительных платежей.

Озёра и хранилища. В озеро складывают сырые файлы как есть, в хранилище — очищенные таблицы с понятной схемой. Аналитики работают с витринами — таблицами, собранными под конкретный отчёт.

Оркестрация и контроль. Airflow запускает цепочку задач в нужном порядке и перезапускает упавшие. Инженер добавляет проверки, чтобы пустая выгрузка не превратилась в «нулевую выручку» в отчёте.

Учебный пример: датчики, которые остановили загрузку

Ситуация учебная, вымышленная. Агрохолдинг ставит в теплицы две тысячи датчиков температуры и влажности, каждый отправляет показание раз в несколько секунд. Первую версию собирают быстро: небольшой сервис читает сообщение из Kafka и сразу записывает его отдельным запросом INSERT в таблицу ClickHouse. На десяти тестовых датчиках всё работает, а на полной нагрузке вставка через несколько часов начинает тормозить и падает с ошибкой «Too many parts».

Причина описана в документации ClickHouse: каждый запрос INSERT сразу создаёт на диске новый кусок данных (part), а фоновые слияния не успевают объединять тысячи мелких кусков. Разработчики рекомендуют вставлять пачками не меньше 1 000 строк, лучше по 10 000–100 000, и держаться примерно одного запроса вставки в секунду (ClickHouse, выбор стратегии вставки). Когда активных кусков в одной партиции становится больше значения parts_to_delay_insert (по умолчанию 1 000), ClickHouse искусственно замедляет вставку, а после parts_to_throw_insert (по умолчанию 3 000) прерывает её с исключением (настройки MergeTree).

Помогает не мощный сервер, а другая схема загрузки: сервис копит показания и пишет их пачкой раз в несколько секунд. Другой вариант — асинхронная вставка, при которой буфер собирает сам сервер и по умолчанию сбрасывает на диск через 200 мс, при 100 МиБ или после 450 запросов. Вывод шире ClickHouse: документацию о внутреннем устройстве системы читают до того, как строят конвейер.

Карта ролей внутри направления

Big data — не одна профессия, а набор ролей вокруг общей инфраструктуры. Названия в вакансиях смешиваются, поэтому смотрите на обязанности.

Роль Что делает С чем работает
Инженер данных строит конвейеры загрузки, хранилища и витрины SQL, Python, Airflow, Spark, Kafka
Архитектор данных решает, где и в каком виде хранить данные, считает стоимость модели данных, облака
Инженер платформы данных сопровождает кластеры и сервисы для остальных команд Kubernetes, Hadoop, мониторинг
MLOps-инженер готовит данные для обучения, настраивает переобучение моделей конвейеры признаков, реестры моделей
Администратор баз данных отвечает за конкретные СУБД: резервные копии, реплики, обновления PostgreSQL, ClickHouse

Аналитик данных и data scientist — потребители этой инфраструктуры. Аналитик отвечает на вопросы бизнеса по готовым витринам, data scientist строит модели, а инженер следит, чтобы данные пришли вовремя, полностью и без дублей. В небольшой компании аналитик сам пишет загрузки в Airflow, в крупной между источником и отчётом стоят три команды.

Как приходят в направление

Проще войти из соседней работы. Аналитику знаком SQL, ему не хватает Python, Linux и оркестрации. Бэкенд-разработчик уже пишет код и работает с Docker — ему нужны модели данных и распределённая обработка. Системному администратору и администратору баз данных ближе платформа данных: кластеры и мониторинг им привычны.

Путь с нуля длиннее: сначала программирование и базы данных, потом всё остальное. Есть и академический вариант — магистратура для тех, у кого уже есть высшее образование.

С чего начать и в каком порядке изучать

Порядок строится от того, что пригодится в любой роли, к тому, что нужно только на больших объёмах. Без SQL и командной строки Spark и Kafka превращаются в набор непонятных ошибок: не ясно, где ошибка в запросе, а где — в настройке контейнера.

  1. SQL: агрегаты, соединения, оконные функции, чтение плана запроса.
  2. Python: обработка файлов, запросы к API, форматы CSV, JSON и Parquet.
  3. Linux и Docker: командная строка, процессы, логи, запуск сервисов в контейнерах.
  4. Модели данных: факты и измерения, слои «сырые данные — очищенные — витрины».
  5. Оркестрация: Airflow и идемпотентная загрузка, при которой повторный запуск не создаёт дублей.
  6. Распределённые системы: Spark, Kafka, колоночное хранилище, устройство HDFS или S3.

Пройти этот путь с наставниками и проверкой проектов можно на онлайн-курсе Яндекс Практикума «Инженер данных с нуля». По описанию на Учи.Онлайн, это 11 месяцев при нагрузке около 15 часов в неделю, 200 часов теории и 340 часов практики, 13 проектов. В стеке — PostgreSQL, Airflow, Kafka, Hadoop, Spark, Docker и Yandex Cloud. Начинают с синтаксиса Python, а 21 бесплатный урок помогает оценить сложность до оплаты.

Как практиковаться без своего кластера

Учебный стенд помещается на ноутбуке: Docker Compose поднимает Kafka, ClickHouse, Airflow и S3-совместимое хранилище MinIO. Данные есть в разделе примеров документации ClickHouse — например, поездки нью-йоркского такси и показания датчиков окружающей среды.

Задания идут от простого к сложному: сначала одна система, потом связка, потом намеренная поломка.

  • Напишите генератор событий, отправьте их в Kafka и загрузите в ClickHouse двумя способами: по одной строке и пачками. Сравните время и число активных кусков в системной таблице system.parts.
  • Обработайте один набор данных в pandas и в Spark в локальном режиме и объясните разницу во времени.
  • Соберите в Airflow ежедневную загрузку и перезапустите её за прошедшую дату: дублей быть не должно.
  • Остановите ClickHouse посреди загрузки и проверьте, что потерялось после перезапуска.

В портфолио лучше всего работает репозиторий с README: схема потоков, решения и замеры. Фраза «упало на 3 000 кусков, исправил пачками» говорит о навыке больше перечня технологий.

Где учиться и что проверить в программе

Перед выбором обучения проверьте, разворачиваете ли вы систему сами, есть ли задания на сбои, названы ли конкретные инструменты и проверяют ли код.

Если нужен диплом о переподготовке и обзор области, а не инженерная практика, подойдёт программа МИПО «Большие данные (Big Data) и интернет вещей (IoT)». По обзору на Учи.Онлайн, это 4 месяца и 368 академических часов дистанционно, лекции и тестирование, диплом вносят в ФИС ФРДО. Темы — от баз данных и цифровой трансформации до big data и интернета вещей. Инструменты и работа с наборами данных в обзоре не заявлены, поэтому программу уточните у школы.

Диплом и навык решают разные задачи. Документ важен, когда его требует работодатель, а навык на собеседовании проверяют задачей: спроектировать загрузку, найти узкое место, объяснить, что будет при падении узла.

Тем, у кого есть высшее образование и кто готов учиться два года, подойдёт магистратура «Инженерия данных» Нетологии и НИУ ВШЭ. По обзору на Учи.Онлайн, это 23 месяца по направлению 09.04.04 «Программная инженерия», вечером и по субботам, 20–30 часов в неделю, 305 000 ₽ на 30.09.2026. Нужен диплом бакалавра или специалиста. В программе Python, SQL, Java, Scala, C++ и разные типы хранилищ, во втором семестре — практика. Spark и Kafka в обзоре не названы.

Сколько зарабатывают

По калькулятору зарплат «Хабр Карьеры» на 2 октября 2026 года медиана дохода инженера данных — 257 500 ₽ в месяц по 383 анкетам, аналитика данных — 170 000 ₽ по 1 104 анкетам. Это вся Россия и все уровни. По методике сервиса берутся анкеты за скользящие полгода, а доход считается как сумма медианной зарплаты и медианной премии.

Цифры взяты из анкет самих специалистов, а не из вакансий. В медиану входят сеньоры и лиды, поэтому для первой работы она не ориентир; разбивку по грейдам калькулятор показывает после регистрации. Ставьте фильтры по городу и квалификации и смотрите на медиану и диапазон 25–75-го процентилей. На доход влияют масштаб инфраструктуры, дежурства и отрасль.

Кому направление может не подойти

Хорошую работу здесь почти не видно: её замечают, когда отчёт не собрался. Загрузки идут ночью, разбор сбоев — с утра, много времени уходит на документацию на английском и согласование доступов. Если вам интереснее отвечать на вопросы бизнеса или строить модели, чем следить за конвейером, ближе аналитика или Data Science.

Тем, кого тянет к моделям, пригодится рейтинг онлайн-школ по Data Science: он сравнивает программы подготовки data scientist, а не инфраструктурные. Чтобы проверить интерес к самим большим данным, поставьте ClickHouse в Docker и загрузите несколько десятков тысяч строк сначала по одной, потом пачками. Если захочется понять, откуда разница, направление вам, скорее всего, подойдёт.