All streams
Search
Write a publication
Pull to refresh

Как работать с Apache Spark? Практический гайд (видео + материалы на GitHub)

В Сравни мы используем Apache Spark для загрузки сырых данных из источников.

У нас есть два вида загрузки:

  1. Batch-загрузка — когда данные грузятся один раз в какой-то период (час, день и так далее). Актуальна она, например, для данных по курсам валют: аналитикам достаточно знать курс валют на конкретный день, поэтому читаем раз в день данные по API с сайта ЦБ и грузим их в S3 (объектное хранилище) при помощи Python. Таких API достаточно много, они могут сильно различаться по количеству данных, поступающих с каждой. 

    Уже из S3 в Greenplum мы грузим все эти данные при помощи Spark. Фреймворк позволяет быстро трансформировать данные одновременно на нескольких машинах, так как все вычисления происходят в оперативной памяти.

  2. Потоковая загрузка, которая работает 24/7 (на то она и стриминг). Здесь мы имеем дело с данными, изменения в которых нам нужно видеть несколько раз в день. Данные в этом случае читаются из Kafka посредством Spark и сразу пишутся в Greenplum (параллельно скидываем файлы в S3, чтобы был бэкап).  

Порог входа в Spark выше, чем в SQL или Python, поскольку он требует знания и того, и другого. Плюс, когда начинаешь заниматься написанием трансформаций на Spark, возникают вопросы по оптимизации кода и правильной настройке ресурсов. Так как Spark — приложение, которое запускается на наших серверах, его надо уметь настраивать: примерно понимать, сколько потребуется выделить ядер процессора, оперативной памяти и количества executors (процессов для параллельной обработки).

Наш дата-инженер Евгений Виндюков полагает, что изучать Spark сразу с выделения ресурсов не стоит: лучше сперва научиться крутить таблички локально на одном компьютере. И только потом переходить на параллельную обработку на нескольких машинах.

Специально для тех, кто планирует ознакомиться с Apache Spark на практике, Евгений подготовил видео-гайд, который можно посмотреть здесь:

Плюс материалы на GitHub, чтобы вы могли не просто разобраться в Spark, но и запустить его на своём локальном ПК в режиме библиотеки или режиме кластера через docker compose.

Смотрите, изучайте, осваивайте Spark на практике. Надеемся, будет полезно!

Tags:
Total votes 6: ↑6 and ↓0+6
Comments0

Articles

Information

Website
www.sravni.ru
Registered
Founded
2009
Employees
501–1,000 employees
Location
Россия