Доклад

Автоматизация конфигурирования ETL-процессов на основе Apache Spark 3, используя RAG и LLM МТС

На русском языке

Обработка больших данных с использованием Apache Spark стала стандартом для ETL-процессов (Extract, Transform, Load) благодаря высокой производительности и масштабируемости. Эффективность выполнения задач в Spark критически зависит от правильной настройки параметров конфигурации, таких как spark.executor.memory, spark.default.parallelism и spark.driver.memory. Ручная оптимизация этих параметров требует глубоких знаний системы и часто приводит к неоптимальным результатам из-за сложного взаимодействия между настройками и изменчивости нагрузок, а также различий между входными данными и алгоритмами работы Spark-приложений.

В докладе расскажу про ряд проблем, с которыми сталкивается Data Engineer при конфигурировании Spark.

Для оценки оптимальности работы Spark-приложения используют метрики из логов Spark и хранилища метрик Graphite, куда Spark отбрасывает метрики. Расскажу, как собранная информация о метриках исполнения Spark используется в системе, причем тут LLM (модель — mts-anya) и RAG, как мы собрали базу из конкретных рекомендаций по тюнингу Spark-приложений, по рекомендациям построили эмбеддинги (bge-m3) и для конкретного Spark-приложения находим самые релевантные рекомендации по тюнингу Spark. Также продемонстрирую реализованную микросервисную архитектуру системы с использованием Kafka и K8s.

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

Спикеры

Расписание