Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Егор Матешук. МаксимаТелеком. Не Spark’ом единым — полезные инструменты для систем потоковой обработки данных

GIL
September 19, 2019

Егор Матешук. МаксимаТелеком. Не Spark’ом единым — полезные инструменты для систем потоковой обработки данных

1. Везде ли нужен Spark Streaming?
2. Зачем data engineer другие инструменты?
3. В каких случаях их лучше использовать?

GIL

September 19, 2019
Tweet

More Decks by GIL

Other Decks in Technology

Transcript

  1. О чем сегодня поговорим • Везде ли нужен Spark Streaming?

    • Зачем дата инженеру другие инструменты? • В каких случаях их лучше использовать?
  2. Дата инженерам нужны инструменты кроме Apache Spark Есть случаи, когда

    NiFi и StreamSets удобнее Есть случаи, когда нужны потоковые фреймворки Есть случаи, когда Spark незаменим
  3. Первый плохой пример • Нам нужно положить данные из топика

    А в таблицу Б • Мы пишем Spark Streaming джобу, которая состоит из двух шагов: взять и положить с минимальными трансформациями • Дальше мы пишем для неё тесты, отдельный CI, кастомный мониторинг • ...
  4. Что не так? • Возникает много “кастомных” джоб • Поддержка

    зоопарка коннекторов • Решение типовых задач разными способами • Джуны нервничают
  5. В чем плюсы? • Стандартные “кирпичики” для сбора пайплайнов •

    Централизация и визуализация процессов • Низкий порог вхождения • Джуны радуются
  6. А может и хватит? Данные инструменты не могут полностью заменить

    фреймворки • Иногда кастомизация все же нужна • Нет никаких инструментов для описания домена
  7. Второй плохой пример Мы стараемся запихнуть в Spark несвойственные ему

    паттерны • Low-latency processing • Stateful stream processing • Обработка потоков со сложной топологией Но Spark же всё это умеет?! Да, но недавно и не в полной мере
  8. Две разные модели MapReduce model • Всё есть batch •

    А всё что не batch - мелко покрошить и будет mini batch Представители: • MapReduce • Spark Dataflow model • Всё есть stream • Batch - просто конечный stream Представители: • Flink • Beam (Google Dataflow)
  9. И все же - нужен ли Spark Streaming? • Аналитика

    на больших потоках • SQL-подобные запросы • Обслуживание моделей из MLlib
  10. Полезные ссылки • Open Source ETL: Apache NiFi vs Streamsets

    • Streaming 101: The world beyond batch • The Dataflow Model: A Practical Approach to Balancing Correctness, Latency, and Cost in Massive-Scale, Unbounded, Out-of-Order Data Processing