登录
/
注册
首页
论坛
其它
首页
科技
业界
安全
程序
广播
Follow
关于
博客
发1篇日志+1圆
记录
发1条记录+2圆币
发帖说明
登录
/
注册
账号
自动登录
找回密码
密码
登录
立即注册
搜索
搜索
关闭
CSDN热搜
程序园
精品问答
技术交流
资源下载
本版
帖子
用户
软件
问答
教程
代码
VIP网盘
VIP申请
网盘
联系我们
道具
勋章
任务
设置
我的收藏
退出
腾讯QQ
微信登录
返回列表
首页
›
业界区
›
安全
›
博世智驾新动力:Apache DolphinScheduler如何征服数据 ...
博世智驾新动力:Apache DolphinScheduler如何征服数据处理挑战
[ 复制链接 ]
喙审
2025-6-10 23:56:34
视频及PPT等相关资料:点击查看
讲师介绍
陶超权,博世智驾(中国)后端工程师,负责数据处理和数据调度方面工作,在智能驾驶数据处理领域具有丰富的实践经验。在2024年12月Apache DolphinScheduler社区线上交流会上上,他分享了Apache DolphinScheduler在智能驾驶数据处理中的应用案例和未来的发展蓝图。
业务背景
博世智驾(中国)隶属于博士集团(Bosch Group),全程是罗伯特·博世有限公司,成立于1886年,全球总部位于德国,员工人数超过42万,遍布50多个国家,业务涵盖汽车与智能交通技术、工业技术、消费品与能源与建筑技术四大领域。
今天的话题将聚焦于是博世在智能驾驶技术方面基于Apache DolphinScheduler的技术改造与业务应用。
智能驾驶技术的发展高度依赖于数据。数据不仅是模型训练的基石,也是功能验证的关键。智能驾驶模型需要大量高质量的数据来训练,以提升感知、决策和控制的精确度。同时,为了确保系统的可靠性和安全性,真实场景下的车辆功能验证同样需要多样化的测试数据。
接入改造
接入前
在没有使用Apache DolphinScheduler之前,博世智驾依赖于Jenkins来实现业务代码中的工作流编排和调度。这种方法的优点在于其高度的灵活性,允许定义任何形式的工作流编排。然而,这种方法的缺点也显而易见,就是与业务代码的耦合度很高,任何工作流的变动都需要修改业务代码,这增加了维护的复杂性和风险。
接入后
经过调度选型之后,博世智驾决定采用Apache DolphinScheduler,并基于3.2.0版本进行了一系列的接入改造,以提高数据处理的效率和灵活性。
以下是博世智驾进行的一系列改造的具体实施方案。
MQ Trigger
在数据源的基础上,博世智驾增加了消息源的创建,并将消息源与工作流绑定,实现了工作流的自动触发。这一改进使得工作流能够更加灵活地响应数据源的变化。
节点增强
博世智驾重度依赖K8S任务和dynamic任务进行编排,在这方面基于DolphinScheduler重点进行了一些改造,包括:
主流程与子流程
:优化了主流程和子流程的管理。
自定义plugin
:允许自定义plugin,以适应特定的业务需求。
修改dynamic节点的子流程生成规则
:调整了dynamic节点的子流程生成规则,以更好地控制参数输出。
异步触发&轮询
:实现了异步触发和轮询机制,提高了任务的响应速度。
Conditional Http
:引入了条件HTTP请求,以实现更复杂的工作流逻辑。
动态优先级
博世智驾还基于Apache DolphinScheduler实现了动态优先级功能,以适应不同业务场景的需求,确保关键任务能够优先执行。
最佳实践
部署架构
博世智驾采用了K8S部署,实现了控制集群和计算集群的隔离。这种隔离策略包括:
namespace隔离
:通过namespace级别的隔离,实现了不同任务之间的逻辑分离。
Node隔离
:通过Node级别的隔离,确保了计算任务不会因为资源抢占或负载导致控制节点被驱逐。
集群版本
博世智驾介绍了TTL Controller,这是一种控制job结束后多久被删除的机制。这一功能从Kubernetes v1.23版本开始正式生效。需要注意的是,使用老版本可能会导致Kubernetes集群压力增大,甚至导致Ds worker OOM(Out of Memory),使用时需谨慎考虑。
K8S任务配置
在K8S任务配置方面,博世智驾提出了以下建议:
任务传参
:避免使用大JSON传参,尽量使用文件交互,以文件地址作为参数传递,以减少网络传输的负担。
资源配额
:对于耗时较长的k8s任务,尽量将request和limit配置相同,避免资源超卖导致OOM。
IO控制
:对于IO密集型任务,尽量避免大量读写本地磁盘,使用CFS(Comprehensive File System),以减少对当前node上其他任务的影响。
K8S任务隔离&动态优先级
面对不同类型k8s任务被调度到同一个k8s集群执行的问题,博世智驾提出了以下解决方案:
支持动态修改master上任务的优先级
:允许动态调整任务的优先级,以适应不同的业务需求。
通过node标签和容忍度将不同类型的任务分配到不同节点上
:通过这种方式,可以确保不同类型的任务在资源使用上相互隔离,同时保持各自的优先级。
未来规划
最后,博世智驾表示了将计划在未来实现一些新的功能和进一步的完善,包括实现任务资源隔离,并接入CICD,以进一步提升智能驾驶数据处理的效率和稳定性。这些规划将有助于博世智驾在智能驾驶领域的技术进步和业务发展。
结语
这次分享不仅展示了Apache DolphinScheduler在博世智驾这家百年公司的智能驾驶数据处理方面的实际应用,还提供了宝贵的实践经验和未来发展方向。欢迎大家了解并加入Apache DolphinScheduler社区,获取更多信息和资源,共同推动智能驾驶技术的发展。
本文由 白鲸开源 提供发布支持!
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
照妖镜
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
回复
本版积分规则
回帖并转播
回帖后跳转到最后一页
浏览过的版块
业界
签约作者
程序园优秀签约作者
发帖
喙审
2025-6-10 23:56:34
关注
0
粉丝关注
16
主题发布
板块介绍填写区域,请于后台编辑
财富榜{圆}
敖可
9984
黎瑞芝
9990
杭环
9988
4
猷咎
9988
5
凶契帽
9988
6
接快背
9988
7
氛疵
9988
8
恐肩
9986
9
虽裘侪
9986
10
里豳朝
9986
查看更多