Ir al contenido principal
Soluciones

Del banco de pruebas al lakehouse: cómo AVL moderniza el análisis de datos de medición con Impulse

por Dr. Thomas Bonfert, Jonathan Bräuer, Fabian Ade, Maxim Hammer, Florian Gorzitzke, David Crescence, Christa Simon, Jörg Zimmermann y Hannes Schneider

  • Impulse es un framework de código abierto de Databricks Labs que permite a los ingenieros de dominio analizar datos de sensores en Databricks con expresiones sencillas de Python.
  • Impulse escala el análisis de series temporales a cientos de terabytes de datos de medición, al tiempo que mantiene los análisis reproducibles, compartibles entre equipos y gobernados por Unity Catalog.
  • AVL reemplazó su plataforma local heredada con Impulse en Databricks, reduciendo el tiempo de análisis de días a minutos y estandarizando el análisis de datos de medición en toda la organización.

1. Introducción - Impulse: análisis de series temporales para datos de medición

Una sola campaña de pruebas de automoción produce cientos de miles de grabaciones de mediciones y cientos de terabytes de datos de sensores de series temporales. Estos datos se almacenan en formatos binarios como ASAM MDF4 y tradicionalmente se analizan con herramientas de escritorio como NI DIAdem o MATLAB. A los ingenieros de dominio les gustan estas herramientas por una buena razón. Pueden centrarse en el análisis real, decidiendo qué señales comparar y qué condiciones definen un evento crítico, sin tener que convertirse en expertos en marcos de big data y computación distribuida. Pero las herramientas no escalan, los análisis basados en scripts aislados son difíciles de reproducir y los datos quedan fuera de la gobernanza en la que confía el resto de una empresa moderna.

Impulse es una biblioteca de análisis basada en Python, publicada como un proyecto de Databricks Labs, que cierra esta brecha en Databricks Intelligence Platform. En su núcleo (Figura 1), Impulse proporciona tres ingredientes clave:

  1. Un lenguaje de análisis de series temporales (TSAL) declarativo que permite a los ingenieros expresar aritmética de señales, condiciones de eventos y agregaciones en Python natural sin necesidad de tener experiencia en Spark.
  2. Un motor de consultas acoplable que compila expresiones TSAL en una ejecución distribuida de Spark a través de miles de grabaciones almacenadas en cualquier diseño de datos de entrada.
  3. Abstracciones adaptadas al dominio que se asignan directamente a cómo los ingenieros piensan en sus datos, incluidos contenedores de medición, canales de sensores, eventos operativos y agregaciones ponderadas por duración y distancia.

En esta publicación de blog, mostramos cómo Impulse impulsa el Lakehouse para Datos de Medición de AVL en Databricks. AVL es una empresa de tecnología de movilidad líder en el mundo que se especializa en el desarrollo, simulación y prueba de sistemas de vehículos y energía. Trabajan con datos de medición y simulación para validar diseños, comprender el comportamiento del sistema y acelerar el desarrollo de productos basado en datos, desde modelos virtuales hasta pruebas en el mundo real. Analizamos la arquitectura de lakehouse, tres modos de uso complementarios que sirven tanto a ingenieros de dominio como a ingenieros de datos y científicos de datos, y el impacto que AVL ha visto en producción. Impulse se basa en un modelo de datos jerárquico de capa Silver codesarrollado con Mercedes-Benz y descrito en nuestra publicación de blog anterior.

Arquitectura de Impulse.
Figura 1 – Arquitectura de Impulse. El marco consta de tres componentes. TSAL es un DSL declarativo de Python para expresar señales, eventos y agregaciones sin necesidad de tener experiencia en Spark. El motor de consultas acoplable compila expresiones TSAL en planes de ejecución distribuidos de Spark y ejecuta consultas en los datos de la capa Silver. Las agregaciones adaptadas al dominio incluyen histogramas 1D/2D ponderados por duración y distancia y estadísticas acotadas a eventos. Finalmente, Impulse escribe los resultados en un esquema en estrella de la capa Gold.

2. La arquitectura: un lakehouse para datos de medición

La plataforma de AVL sigue la Arquitectura Medallion, con Unity Catalog proporcionando gobernanza en todas las capas y Databricks Workflows orquestando la canalización (ver Figura 2).

1. Origen e ingesta: Los archivos de medición sin procesar (por ejemplo, en formato ASAM MDF4) se ingieren en la capa Bronze utilizando un Databricks Solution Accelerator. AVL amplió este acelerador para que funcione con AVL Concerto, su sistema de gestión de datos de medición que admite múltiples formatos de archivo propietarios. Los metadatos contextuales (ID de vehículos, versiones de software, etiquetas de proyectos, etc.) se ingieren junto con los archivos grabados.

2. Capa Silver: Los datos de la capa Bronze se transforman en el modelo de datos jerárquico para datos de medición. El modelo organiza los datos en torno a contenedores (es decir, archivos individuales) y canales (señales de sensores), cada uno enriquecido con atributos/etiquetas y métricas a nivel de contenedor y de canal. La capa Silver almacena datos validados y con calidad garantizada preparados para el procesamiento analítico. Las reglas de garantía de calidad de los datos se implementan utilizando el marco Databricks DQX y son totalmente configurables y personalizables para satisfacer necesidades analíticas específicas posteriores. Consulte nuestra publicación de blog publicada anteriormente para obtener más detalles sobre el modelo de datos de la capa Silver.

3. y 4. De Silver a Gold: La capa Silver alimenta a Impulse, que traduce la lógica de análisis declarativa en una ejecución distribuida de Spark. Los resultados pueden ser un esquema en estrella de la capa Gold para informes, DataFrames ad-hoc para exploración o matrices de características para ML (ver Sección 5).

5. Servicio y análisis: Las herramientas de BI como Databricks Dashboards o Lakehouse Apps consumen datos de la capa Gold a través de SQL Warehouses, lo que permite una exploración interactiva sin tocar la canalización de computación.

Arquitectura de referencia de alto nivel del Lakehouse
Figura 2 – Arquitectura de referencia de alto nivel del Lakehouse para Datos de Medición. (1) Los archivos de medición sin procesar se ingieren en la capa Bronze. (2) Los datos se transforman en el modelo de datos estandarizado de la capa Silver. (3+4) Impulse traduce la lógica de análisis declarativa en una ejecución distribuida y produce resultados en la capa Gold. (5) Las herramientas de BI y las Lakehouse Apps sirven los resultados a los usuarios finales. Consulte el texto para obtener más detalles.

3. Poniendo a trabajar a Impulse: un análisis completo en 10 líneas de Python

La mejor manera de entender Impulse es verlo en acción. En esta sección, analizamos un ejemplo mínimo pero realista: seleccionar sensores de temperatura de la batería, definir un evento de riesgo de fuga térmica basado en esos sensores y calcular un histograma ponderado por duración, todo utilizando el Time Series Analytics Language (TSAL).

Selección de canales físicos y definición de canales virtuales

El punto de partida para cualquier análisis es seleccionar los canales de sensores físicos de interés. El QueryBuilder busca en las tablas de metadatos de la capa Silver y devuelve una expresión TSAL. En el siguiente ejemplo, recuperamos las temperaturas de celda más alta y más baja de nuestra plataforma EV y calculamos el desequilibrio de temperatura (delta):

Tenga en cuenta que la única línea para definir el canal virtual codifica un cálculo no trivial. El marco realiza automáticamente la resolución de alias de canales, la conversión de unidades, alinea los canales a un eje de tiempo común y realiza la interpolación de puntos de datos antes de realizar la aritmética.

Definición de un evento

Los eventos son ventanas de tiempo derivadas de las condiciones de la señal. Aquí, definimos un evento de seguridad crítico donde la temperatura máxima absoluta de la celda supera un umbral seguro (60 °C) O la variación de temperatura entre celdas es sospechosamente alta (superior a 5 °C):

Las expresiones TSAL son totalmente componibles: los canales virtuales, las condiciones booleanas y las agregaciones pueden hacer referencia entre sí.

Cálculo de un histograma dentro del evento

Finalmente, definimos un histograma ponderado por duración de la temperatura máxima de la celda, acotado al evento de riesgo térmico. El histograma cuenta el tiempo transcurrido en cada intervalo de temperatura, lo que produce resultados físicamente significativos independientemente de la frecuencia de muestreo del sensor:

Ejecución del análisis

Dos llamadas a métodos activan el cómputo distribuido en todas las grabaciones de medición coincidentes y persisten los resultados como tablas de esquema en estrella de la capa Gold en Unity Catalog. El análisis completo, desde la selección de canales hasta el cálculo de señales virtuales, la definición de eventos, la agregación de histogramas y la persistencia, requiere aproximadamente 10 líneas de Python. El usuario nunca escribe una transformación de DataFrame, una función definida por el usuario, un join o una función de ventana.

4. Tres formas de usar Impulse: informes, análisis ad-hoc y ML

Impulse admite tres modos de uso complementarios (Figura 3), todos basados en el mismo lenguaje de expresión TSAL y motor de consultas. En el modo de informes estructurados, los ingenieros de dominio definen eventos y agregaciones que se ejecutan en paralelo en todas las grabaciones coincidentes y se persisten en un esquema en estrella de capa Gold, listos para Dashboards de AI/BI o Lakehouse Apps. La canalización se puede programar como un Databricks Workflow para que se update automáticamente a medida que llegan nuevas mediciones. En el modo ad-hoc, las expresiones TSAL se evalúan directamente mediante el motor de consultas y se devuelven como Spark DataFrames para su exploración interactiva en notebooks, sin escribir en la capa Gold. En el modo de ML, las estadísticas de alcance de evento y las distribuciones de histogramas se extraen como matrices de características planas que se pueden pasar directamente a MLflow, AutoML o canalizaciones de entrenamiento personalizadas.

Cuatro perfiles y su interacción con Impulse
Figura 3 – Cuatro perfiles y su interacción con Impulse. Los tres modos de uso activos comparten el mismo núcleo de TSAL y motor de consultas; las partes interesadas consumen los resultados a través de Dashboards y Lakehouse Apps.

Cómo utiliza AVL Impulse en la práctica

En la práctica, AVL aprovecha las ventajas del framework Impulse utilizando principalmente su modo de informes estructurados para crear paquetes de análisis estandarizados y configurables (“toolboxes”). Estos toolboxes son ejecutados por ingenieros de dominio en campañas de medición entrantes, según su tarea de ingeniería específica o enfoque analítico.

Los resultados de la capa Gold se integran a la perfección en Databricks Dashboards y Lakehouse Apps, donde los ingenieros pueden explorar interactivamente los resultados y crear histogramas, mapas de calor y otras visualizaciones estadísticas para respaldar las decisiones de ingeniería basadas en datos.

5. Resultados e impacto

Con la ayuda del framework Impulse y Databricks Data Intelligence Platform, AVL ha creado una plataforma de datos de ingeniería de extremo a extremo para respaldar el desarrollo de productos basado en datos. La plataforma introduce un nuevo estándar en el análisis de datos automotrices y ofrece mejoras en múltiples dimensiones:

Mejoras cuantitativas

  • Reducción significativa del tiempo de análisis (de días a minutos en comparación con los enfoques tradicionales)
  • Capacidad para procesar una gran cantidad de grabaciones de medición en una sola ejecución
  • Ahorro en costos de infraestructura en comparación con las soluciones locales

Mejoras cualitativas

  • Empoderamiento de los ingenieros de dominio a través de análisis de autoservicio
  • Análisis totalmente reproducibles y transparentes
  • Estandarización entre equipos en una única plataforma de datos unificada

6. Próximos pasos: código abierto y el camino a seguir

Impulse se lanza como un proyecto de Databricks Labs (consulte aquí), abierto a las contribuciones de la comunidad en nuevas agregaciones, solucionadores de consultas y extensiones específicas del dominio. El framework incluye un conjunto de datos de demostración público, documentación completa y notebooks de Databricks para demostrar los modos de uso de informes y ML.

Para AVL, la implementación de hoy es solo la base de su lakehouse para datos de medición. La hoja de ruta extiende Impulse a la validación de ADAS y conducción autónoma, el mantenimiento predictivo y los datos de simulación, trabajando hacia un desarrollo de productos de extremo a extremo basado en datos.

(Esta entrada del blog ha sido traducida utilizando herramientas basadas en inteligencia artificial) Publicación original

Recibe las últimas publicaciones en tu bandeja de entrada

Suscríbete a nuestro blog y recibe las últimas publicaciones directamente en tu bandeja de entrada.