TGStat
TGStat
Введите текст для поиска
Расширенный поиск каналов
  • flag Russian
    Язык сайта
    flag Russian flag English flag Uzbek
  • Вход на сайт
  • Каталог
    Каталог каналов и чатов Региональные подборки Тематические подборки Платные каналы Поиск каналов
    Добавить канал/чат
  • Рейтинги
    Рейтинг каналов Рейтинг чатов Рейтинг публикаций
    Рейтинги брендов и персон
  • Аналитика
  • Поиск по публикациям
  • Мониторинг Telegram
  • Продвижение
    Реклама через Яндекс Бизнес Реклама в каналах через TGStat Agency Реклама на сайте TGStat.ru
Дата Инженер Лаб | Артём Подвальный

4 May 2025, 22:59

Открыть в Telegram Поделиться Пожаловаться

Почему 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

2.7k 5 39 2 44
Каталог
Каталог каналов и чатов Подборки каналов Поиск каналов Добавить канал/чат
Рейтинги
Рейтинг каналов Telegram Рейтинг чатов Telegram Рейтинг публикаций Рейтинги брендов и персон
API
API статистики API поиска публикаций API Callback
Наши каналы
@TGStat @TGStat_Chat @telepulse @TGStatAPI
Почитать
Академия TGStat Исследование Telegram 2019 Исследование Telegram 2021 Исследование Telegram 2023
Контакты
Справочный центр Поддержка Почта Вакансии
Всякая всячина
Пользовательское соглашение Политика конфиденциальности Публичная оферта
Наши боты
@TGStat_Bot @SearcheeBot @TGAlertsBot @tg_analytics_bot @TGStatChatBot