Привет, Хабр! Меня зовут Сергей Смирнов, я аналитик в продукте CVM в X5 Tech. Я занимаюсь разработкой инструмента анализа A/B экспериментов. Мы ежедневно считаем десятки метрик для сотен экспериментов на десятки миллионов клиентов –- это терабайты данных, поэтому наш инструмент разработан на Spark.
В последнее время мы заметили, что существенную часть времени работы наших Spark-приложений занимает обмен данными (Shuffle) между исполнителями. В этой статье я расскажу о том, какие оптимизации помогли нам избавиться от самых тяжёлых операций Shuffle. Речь пойдёт не только о BroadcastJoin, но и о двух других неочевидных методах – предварительное репартицирование и бакетирование.
Хабр, привет! Я снова пришёл к вам со статьёй, где показываю мои любимые техники вёрстки.…
Привет, друзья! В этой серии статей мы разбираем структуры данных и алгоритмы, представленные в этом…
Для некоторых задач, связанных с обновлением данных в реальном времени — например, новостные ленты, уведомления…
Со времён появления контекстной рекламы маркетологов не перестаёт мучить вопрос:"А есть ли смысл вести контекст по…
Накануне в прямом эфире прошла большая презентация новой техники от компании Apple. Команда Тима Кука…
10 новых российских сервисов для нарезки шортсов при помощи ИИ, публикации в цифровых СМИ, авто-ответов…