Почему Apache Spark вытеснил MapReduce

IT и разработка 04.05.2025 · 👁 2 820 просмотров
Почему 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
Откликнуться в Telegram →

⚠️ Никогда не платите «за оформление» или «гарантию трудоустройства» — это признак мошенников. Работа ТРУ не несёт ответственности за содержание вакансии.

🇮🇱 Не нашли подходящую зарплату? В Израиле платят от $3000 Без языка и опыта · жильё и легализация под ключ · официально Смотреть вакансии →