IT analysis • Системный и бизнес анализ
1.43K subscribers
91 photos
1 video
3 files
38 links
Образовательный проект для IT специалистов в сфере системного анализа и проектирования ИТ-систем.

YouTube: https://youtube.com/@its_analysis
Автор: @zapselsky_v
Download Telegram
Что такое распределенные вычисления?

При работе с большими данными специалисты сталкиваются с проблемой, что вычисления с использованием одной машины становятся неэффективными.

В таком случае компании стараются внедрить инструменты для работы с большими данными, такие как Hadoop, Spark и т.д.

Основная идея таких инструментов - это использование мощностей нескольких машин (или нескольких "нод"). Вычисления на каждой ноде выполняются параллельно, что позволяет в несколько раз быстрее выполнить расчёты.

Как я написал выше, один из инструментов для работы с большими данными - это spark. Использование spark'a позволяет кратно уменьшить время вычислений.

Если хотите узнать о том за счёт чего достигается такая скорость вычислений в спарк - ставьте 🔥 на эту запись.

И в следующем посте я расскажу вам об этом, а ещё поделюсь своей историей о том как мне удалось в 10 раз оптимизировать загрузку данных с использованием spark (изменив при этом всего 1 строку кода 😁)
#hard_skills
🔥20
Как Spark может ускорить скорость вычислений в 10 раз?

Недавно столкнулся с задачей оптимизации загрузки данных в хранилище.

Был уже готовый поток загрузки данных, который прогружал 1 день исторических данных за 5 часов. Требовалось перегрузить 5 месяцев исторических данных. По расчётам поток грузил бы данные 30 дней.

Проблема такой долгой загрузки данных была в том,
предварительно данные предобрабатывались отдельным Bash скриптом на одной ноде (с использованием мощностей всего лишь одной машины) без распараллеливания вычислений.

Здесь как раз на помощь пришёл spark. Использовалась строка кода с регулярным выражением. После переноса всего лишь одной этой строки кода на spark скорость вычислений увеличилась в 10 раз. Поток стал отрабатывать за 30 минут.

Как использование spark'a помогает получить такие результаты?

Во-первых, Spark использует мощности не одной машины, а мощности всего кластера (то есть нескольких машин, работающих параллельно)

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

В-третьих, все вычисления в spark происходят в оперативной памяти. Это позволяет выполнять вычисления за короткий промежуток времени.

На прошлом посте набралось 15 🔥. Если наберём под этим постом 25 🔥, то поделюсь своей подборкой материалов для изучения spark.
#hard_skills
🔥17👍1