Welcome to my personal place for love, peace and happiness❣️

Как Apache DolphinScheduler решает проблемы обработки данных для Bosch Smart Driving

Оригинал: https://apachedolphinscheduler.substack.com/p/how-apache-dolphinscheduler-conquers

Введение докладчика

Тао Чаоцюань, бэкенд-разработчик в Bosch Smart Driving (Китай), отвечает за обработку и планирование данных. Он имеет обширный практический опыт в области обработки данных для умного вождения. В декабре 2024 года на онлайн-встрече сообщества Apache DolphinScheduler он поделился примерами применения Apache DolphinScheduler в обработке данных для умного вождения и планами развития на будущее.

Спасибо за чтение Substack Apache DolphinScheduler! Этот пост публичный, так что не стесняйтесь делиться им.

Предпосылки бизнеса

Bosch Smart Driving (Китай) является частью Bosch Group, полное название Robert Bosch GmbH, основанной в 1886 году, с глобальной штаб-квартирой в Германии. В компании работает более 420 000 сотрудников, и она представлена более чем в 50 странах. Ее бизнес охватывает четыре основные области: автомобильные и интеллектуальные транспортные технологии, промышленные технологии, потребительские товары, а также энергетические и строительные технологии.

Сегодняшняя тема будет посвящена технической трансформации и бизнес-применению Bosch в области технологий умного вождения на основе Apache DolphinScheduler.

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

Трансформация доступа

До:

До использования Apache DolphinScheduler Bosch Smart Driving полагался на Jenkins для реализации оркестрации и планирования рабочих процессов внутри бизнес-кода. Преимуществом этого метода является высокая гибкость, позволяющая определять любую форму оркестрации рабочего процесса. Однако недостаток также очевиден – высокая степень связанности с бизнес-кодом. Любое изменение в рабочем процессе требует модификации бизнес-кода, что увеличивает сложность и риски обслуживания.

После:

После выбора планировщика Bosch Smart Driving решил использовать Apache DolphinScheduler и провел серию преобразований доступа на основе версии 3.2.0 для повышения эффективности и гибкости обработки данных.

Ниже приведены конкретные планы реализации серии преобразований, проведенных Bosch Smart Driving.

MQ Триггер

На основе источника данных Bosch Smart Driving увеличил создание источников сообщений и связал источники сообщений с рабочим процессом, добившись автоматического запуска рабочего процесса. Это улучшение позволяет рабочему процессу более гибко реагировать на изменения в источнике данных.

Улучшение узлов

Bosch Smart Driving в значительной степени полагается на задачи K8S и динамические задачи для оркестрации и провел некоторые ключевые преобразования на основе DolphinScheduler в этом отношении, включая:

* Основной процесс и подпроцессы: Оптимизировано управление основным процессом и подпроцессами.
* Пользовательский плагин: Разрешено использование пользовательских плагинов для удовлетворения специфических бизнес-потребностей.
* Изменение правил генерации подпроцессов динамических узлов: Скорректированы правила генерации подпроцессов динамических узлов для лучшего контроля вывода параметров.
* Асинхронный триггер и опрос: Реализованы механизмы асинхронного запуска и опроса для повышения скорости отклика задач.
* Условный HTTP: Введены условные HTTP-запросы для реализации более сложной логики рабочего процесса.

Динамический приоритет

Bosch Smart Driving также реализовал функциональность динамического приоритета на основе Apache DolphinScheduler для удовлетворения потребностей различных бизнес-сценариев и обеспечения того, чтобы ключевые задачи могли выполняться с приоритетом.

Рекомендации

Архитектура развертывания:

Bosch Smart Driving принял развертывание K8S для достижения изоляции между управляющими кластерами и вычислительными кластерами. Эта стратегия изоляции включает:

* Изоляция пространства имен: Благодаря изоляции на уровне пространства имен достигается логическое разделение между различными задачами.
* Изоляция узлов: Благодаря изоляции на уровне узлов гарантируется, что вычислительные задачи не приведут к вытеснению управляющих узлов из-за конкуренции за ресурсы или нагрузки.

Версия кластера:

Bosch Smart Driving внедрил TTL Controller, механизм, который контролирует, как долго после завершения задания оно будет удалено. Эта функция официально вступила в силу с версии Kubernetes v1.23. Следует отметить, что использование более старых версий может привести к повышенной нагрузке на кластер Kubernetes и даже вызвать Ds worker OOM (Out of Memory), поэтому следует соблюдать осторожность при его использовании.

Настройка задачи K8S:

В отношении настройки задачи K8S Bosch Smart Driving предлагает следующие рекомендации:

* Передача параметров задачи: Избегайте использования большого JSON для передачи параметров и старайтесь использовать файловое взаимодействие, используя адреса файлов в качестве параметров, чтобы уменьшить нагрузку на передачу по сети.
* Квота ресурсов: Для долгосрочных задач k8s постарайтесь настроить одинаковый запрос и ограничение, чтобы избежать перепродажи ресурсов, ведущей к OOM.
* Управление вводом/выводом: Для задач с интенсивным вводом/выводом старайтесь избегать большого количества операций чтения и записи на локальный диск и используйте CFS (Comprehensive File System), чтобы уменьшить влияние на другие задачи на текущем узле.

Изоляция задач K8S и динамический приоритет:

Столкнувшись с проблемой планирования различных типов задач k8s в одном кластере k8s для выполнения, Bosch Smart Driving предлагает следующие решения:

* Поддержка динамического изменения приоритета задач на главном узле: Позволяет динамически регулировать приоритет задач для удовлетворения различных бизнес-потребностей.
* Распределение различных типов задач по разным узлам с помощью меток узлов и допусков: Таким образом, можно гарантировать, что различные типы задач изолированы с точки зрения использования ресурсов, сохраняя при этом свои соответствующие приоритеты.

Планы на будущее

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

Заключение

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

От себя добавлю:

При таких показателях и возрасте компании удается быть немногим прибыльной ( не жадной ) имея 400 тысяч сотрудников. Вопрос один: как? Подумайте)

и вот еще любопытные факты: RISC-V и BCAI

Вот например инвестиции в BCAI были около 300млн. Если посчитать на 1 сотрудника это 750 евро. вы тратили в 2017 году на ИИ 750 евро, а они да)

Follow this blog
Send
Share
Pin
2 d   big data   Data   Open Source