TGViewer
Дата Инженер Лаб | Артём Подвальный Дата Инженер Лаб | Артём Подвальный @dataengineerlab · 1.87K subscribers
Post #21 2.79K
Почему Apache Spark вытеснил MapReduce?🤔

Когда‑то MapReduce был спасением для petabyte‑масштаба, но каждая итерация писала данные на диск → заново читала → снова писала. Итеративный ML, стриминг или сложные ETL превращались в марафон с кофе‑брейками. Нужно было что‑то быстрее.

Spark появился в 2009‑м в UC Berkeley и сказал:
«Давайте держать данные в памяти и давать разработчику нормальный API!»
Результат — ускорение ×10‑100 и код в пару строк вместо гирлянды map/reduce‑скриптов.

🖥Архитектура Apache Spark

Driver Program
  •  инициализирует SparkContext
  •  строит DAG вычислений
  •  делит работу на задачи и шлёт их в кластер

SparkContext
  •  общается с Cluster Manager’ом
  •  следит, чтобы tasks дошли до финиша

Cluster Manager (Standalone / YARN / K8s / Mesos)
  •  ведёт учёт ресурсов
  •  назначает worker‑узлы
  •  стартует executors

Worker Node
  •  хостит один или несколько executors — грузит работу, кэширует данные

Executor
  •  выполняет tasks параллельно
  •  кладёт горячие данные в память
  •  шлёт результаты Driver’у

Task
  •  самый мелкий кусочек работы - обрабатывает партицию данных

Cache / Persistence
  •  RAM (или SSD) для повторного использования данных без дискового тормоза

⌛Как бежит ваш job
1️⃣Пишем код на RDD / DataFrame / Dataset.
2️⃣ Запускаем — Driver поднимает SparkContext.
3️⃣ Spark лениво строит DAG всех операций.
4️⃣ Оптимизатор режет DAG на stages, те — на tasks.
5️⃣Cluster Manager раздаёт executors по worker‑ам.
6️⃣Tasks летят параллельно 🔼, данные шаффлятся только между stages.
7️⃣.cache() → Spark держит данные в памяти, ускоряя итерации.
8️⃣Завершили — результаты собираются у Driver’а и пишутся туда, куда нужно (HDFS / S3 / БД).

Сохраняйте, чтобы не забыть, и делитесь с теми, кто ещё путает Driver с Executor!

Частые вопросы на собесах:
⏺Что такое Executor и Driver?
⏺Что такое ленивая модель вычислений в Spark?
⏺Какие операции выполняются на Executors, а какие на Drivers?
⏺Для чего в Spark используется cache?
⏺Где выполняются операции в Spark( на диске или в памяти)?
⏺Из-за чего Spark быстрее Map-reduce и чем удобнее?

Поставьте 🔥, если ,было полезно! Делитесь в комментариях своими кейсами по работе со Spark!

#ApacheSpark #BigData #DataEngineering #SparkArchitecture #RDD
  • 🔥 28
  • 👍 9
  • ❤ 6
  • 🤯 1
More from @dataengineerlab
  1. Sep 20, 2026Как вкатиться в Data Engineering с нуля? 🗺 Самая частая ошибка новичков- пытаться сразу в…
  2. Sep 17, 2026CDC и Debezium: как передавать изменения, а не выгружать всю таблицу заново? Допустим, зак…
  3. Sep 13, 2026Тебе тоже кажется, что забываешь быстрее, чем учишь? Недавно менти поделился проблемой: по…
  4. Sep 10, 2026Мини гайд по ИИ-агентам Агент снова забыл условия задачи, полез менять лишнее или написал…
  5. Sep 3, 2026До конца года 4 месяца. Что можно успеть? 📖 Лето закончили с сильными результатами: 13 ме…
  6. Aug 30, 2026Что такое векторные базы данных? Представим, что пользователь пишет📝: «Не проходит оплата…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →