From test bench to lakehouse: how AVL modernizes measurement data analytics with Impulse
TL;DR · AI 摘要
AVL 使用 Databricks 的 Impulse 框架,将测量数据分析从传统工具迁移到湖仓一体架构,显著提升效率并实现数据治理。
核心要点
- Impulse 通过 Python 表达式实现时间序列分析,无需 Spark 专业知识。
- AVL 使用 Impulse 将分析时间从天缩短到分钟,并统一了数据治理。
- Impulse 支持 ASAM MDF4 等格式,兼容多种数据布局。
结构提纲
按章节快速跳转。
- §引言
介绍 Impulse 框架及其在测量数据分析中的作用。
Impulse 提供了声明式时间序列分析语言、可插拔查询引擎和领域感知抽象。
AVL 使用 Impulse 将测量数据分析迁移到 Databricks,提升了效率并实现了统一治理。
思维导图
用一张图看清主题之间的关系。
查看大纲文本(无障碍 / 无 JS 友好)
- Impulse 框架
- 核心功能
- 声明式时间序列分析语言 (TSAL)
- 可插拔查询引擎
- 领域感知抽象
- 应用案例
- AVL 的湖仓一体架构
- 分析时间从天到分钟
金句 / Highlights
值得收藏与分享的关键句。
Impulse scales time-series analytics to hundreds of terabytes of measurement data, while keeping analyses reproducible, shareable across teams and governed by Unity Catalog.
Impulse provides three key ingredients: a declarative Time Series Analytics Language (TSAL), a pluggable query engine, and domain-aware abstractions.
AVL replaced its legacy on-premise platform with Impulse on Databricks, cutting analysis time from days to minutes.
从测试台到湖房:AVL 如何使用 Impulse 现代化测量数据的分析 | Databricks 博客
跳至主要内容
解决方案
2026 年 6 月 25 日
从测试台到湖房:AVL 如何使用 Impulse 现代化测量数据的分析
作者:Dr. Thomas Bonfert、Jonathan Bräuer、Fabian Ade、Maxim Hammer、Florian Gorzitzke、David Crescence、Christa Simon、Jörg Zimmermann 和 Hannes Schneider
摘要
- Impulse 是一个开源的 Databricks Labs 框架,使领域工程师能够使用简单的 Python 表达式在 Databricks 上分析传感器数据。
- Impulse 将时间序列分析扩展到数百太字节的测量数据,同时保持分析的可重复性、团队间可共享性,并由 Unity Catalog 进行治理。
- AVL 用 Databricks 上的 Impulse 替换了其传统的本地平台,将分析时间从数天缩短到几分钟,并在整个组织中标准化了测量数据的分析。
1. 介绍 - Impulse:用于测量数据的时间序列分析
一次汽车测试活动会产生数十万条测量记录和数百太字节的时间序列传感器数据。这些数据以二进制格式(如 ASAM MDF4)存储,并传统上使用桌面工具(如 NI DIAdem 或 MATLAB)进行分析。领域工程师喜欢这些工具是有充分理由的。他们可以专注于实际的分析,决定比较哪些信号以及哪些条件定义了关键事件,而无需成为大数据框架和分布式计算的专家。但这些工具无法扩展,基于孤立脚本的分析难以重现,而且数据位于现代企业依赖的治理之外。
Impulse 是一个基于 Python 的分析库,作为 Databricks Labs 项目发布,它在 Databricks Intelligence Platform 上弥补了这一差距。核心部分(图 1),Impulse 提供了三个关键要素:
- 一种声明式的时间序列分析语言(TSAL),使工程师可以在自然的 Python 中表达信号算术、事件条件和聚合,而无需 Spark 专业知识。
- 一个可插拔的查询引擎,将 TSAL 表达式编译为跨数千条记录的分布式 Spark 执行,这些记录可以存储在任何输入数据布局中。
- 领域感知的抽象,直接映射到工程师如何看待数据的方式,包括测量容器、传感器通道、操作事件以及基于时间和距离加权的聚合。
在本文中,我们将展示 Impulse 如何为 AVL 在 Databricks 上的测量数据湖房提供支持。AVL 是一家世界领先的移动技术公司,专注于车辆和能源系统的开发、模拟和测试。他们使用测量和模拟数据来验证设计、理解系统行为,并加速从虚拟模型到现实世界测试的数据驱动产品开发。我们将逐步介绍湖房架构、三种互补的使用模式(服务于领域工程师、数据工程师和数据科学家),以及 AVL 在生产中看到的影响。Impulse 建立在一个与梅赛德斯-奔驰共同开发的分层 Silver 层数据模型之上,该模型在我们之前的博客文章中有所描述。
图 1 – Impulse 架构。该框架包含三个组件。TSAL 是一种声明式 Python DSL,用于表达信号、事件和聚合,而无需 Spark 专业知识。可插拔的查询引擎将 TSAL 表达式编译为分布式 Spark 执行计划,并在 Silver 层数据上执行查询。领域感知聚合包括基于持续时间和距离加权的 1D/2D 直方图和事件作用域统计。Impulse 最终将结果写入 Gold 层星型模式。
2. 架构 – 用于测量数据的湖仓
AVL 的平台遵循 Medallion 架构,Unity Catalog 提供所有层级的治理,Databricks Workflows 协调管道(见图 2)。
- 源和摄入:原始测量文件(例如,ASAM MDF4 格式)使用 Databricks Solution Accelerator 被摄入到 Bronze 层。AVL 扩展了此加速器,使其能够与 AVL Concerto 配合使用,这是他们的测量数据管理系统,支持多种专有文件格式。上下文元数据(车辆 ID、软件版本、项目标签等)与记录文件一起摄入。
- Silver 层:Bronze 层数据被转换为测量数据的分层数据模型。该模型围绕容器(即单个文件)和通道(传感器信号)组织数据,每个容器和通道都通过容器级和通道级属性/标签和指标进行丰富。Silver 层存储经过验证和质量保证的数据,准备进行分析处理。数据质量保证规则使用 Databricks DQX 框架实现,并且可以完全配置和自定义以满足特定的下游分析需求。有关 Silver 层数据模型的更多详细信息,请参见我们之前发布的博客文章。
- + 4. 从 Silver 到 Gold:Silver 层将数据输入 Impulse,Impulse 将声明式分析逻辑转换为分布式 Spark 执行。输出可以是用于报告的 Gold 层星型模式、用于探索的 ad-hoc DataFrame,或者用于机器学习的特征矩阵(见第 5 节)。
- 服务与分析:BI 工具如 Databricks Dashboards 或 Lakehouse Apps 通过 SQL 数据仓库消费 Gold 层数据,从而实现无需接触计算管道的交互式探索。
图 2 – 测量数据湖仓的高层参考架构。(1)原始测量文件被摄入到 Bronze 层。(2)数据被转换为标准化的 Silver 层数据模型。(3+4)Impulse 将声明式分析逻辑转换为分布式执行,并生成 Gold 层输出。(5)BI 工具和 Lakehouse Apps 将结果提供给最终用户。详见正文。
请注意,定义虚拟通道的单行代码实际上编码了非平凡的计算。框架会自动执行通道别名解析、单位转换、将通道对齐到共同的时间轴,并在执行算术运算之前对数据点进行插值。
定义事件
事件是从信号条件派生的时间窗口。在这里,我们定义一个关键的安全事件,即当电池单元的绝对最高温度超过安全阈值(60°C)或电池单元之间的温度差异异常高(超过5°C)时:
TSAL表达式是完全可组合的:虚拟通道、布尔条件和聚合可以相互引用。
在事件内计算直方图
最后,我们定义一个持续时间加权的直方图,用于电池热风险事件。该直方图统计在每个温度区间内所花费的时间,无论传感器采样率如何,都能产生物理上有意义的结果:
执行分析
两次方法调用会触发分布式计算,覆盖所有匹配的测量记录,并将结果作为Gold层的星型模式表持久化存储在Unity Catalog中。整个分析过程,从通道选择到虚拟信号计算、事件定义、直方图聚合和持久化,大约只需要10行Python代码。用户从未编写过DataFrame转换、用户定义的函数、连接或窗口函数。
4. 使用Impulse的三种方式 – 报告、即席分析和机器学习
Impulse支持三种互补的使用模式(图3),所有模式都基于相同的TSAL表达式语言和查询引擎。在结构化报告模式中,领域工程师定义事件和聚合,这些事件和聚合在所有匹配的记录上并行执行,并持久化存储到Gold层的星型模式中,准备好用于AI/BI仪表板或Lakehouse应用程序。该流程可以作为Databricks工作流进行调度,以在新测量数据到达时自动更新。在即席分析模式中,TSAL表达式由查询引擎直接评估,并作为Spark DataFrame返回,用于在笔记本中进行交互式探索,而不会写入Gold层。在机器学习模式中,事件范围内的统计信息和直方图分布被提取为扁平化的特征矩阵,可以直接传递给MLflow、AutoML或自定义训练管道。
图3 – 四种角色与Impulse的交互。三种活跃的使用模式共享相同的TSAL核心和查询引擎;利益相关者通过仪表板和Lakehouse应用程序消费结果。
AVL如何在实践中使用Impulse
在实践中,AVL通过主要使用Impulse框架的结构化报告模式来构建可配置、标准化的分析包(“工具箱”),从而利用Impulse框架的优势。这些工具箱由领域工程师在接收到的测量活动上执行,具体取决于他们的特定工程任务或分析重点。
生成的Gold层输出无缝集成到Databricks仪表板和Lakehouse应用程序中,工程师可以在其中交互式地探索结果,并创建直方图、热图和其他统计可视化,以支持数据驱动的工程决策。
5. 结果和影响
借助 Impulse 框架和 Databricks 数据智能平台,AVL 已构建了一个端到端的工程数据平台,以支持数据驱动的产品开发。该平台在汽车数据分析领域引入了新的标准,并在多个维度上实现了改进:
定量改进
- 分析时间显著减少(相比传统方法,从天减少到分钟)
- 能够在一次运行中处理大量测量记录
- 相比本地解决方案,基础设施成本节约
定性改进
- 通过自助式分析工具赋能领域工程师
- 完全可重复且透明的分析
- 在统一的数据平台上实现跨团队标准化
6. 未来展望 - 开源与发展方向
Impulse 将作为 Databricks Labs 项目发布(请参见此处),社区可以为新的聚合方法、查询求解器和领域特定扩展做出贡献。该框架附带了公开的演示数据集、完整的文档和 Databricks 笔记本,用于展示报告和机器学习使用模式。
对于 AVL 来说,今天的部署只是他们测量数据湖房的基础。未来路线图将 Impulse 扩展到 ADAS 和自动驾驶验证、预测性维护以及仿真数据,致力于实现端到端的数据驱动产品开发。
在您的邮箱中获取最新文章
订阅我们的博客,获取最新文章发送到您的邮箱。
注册
查看所有博客
slice-start id="_gatsby-scripts-1"
slice-end id="_gatsby-scripts-1"