주요 컨텐츠로 이동
솔루션

테스트 벤치에서 레이크하우스까지: AVL이 Impulse로 측정 데이터 분석을 현대화하는 방법

작성자: Dr. Thomas Bonfert, 조나단 브로이어, Fabian Ade, Maxim Hammer, Florian Gorzitzke, David Crescence, Christa Simon, Jörg Zimmermann , Hannes Schneider

  • Impulse는 도메인 엔지니어가 간단한 Python 표현식으로 Databricks에서 센서 데이터를 분석할 수 있도록 지원하는 오픈 소스 Databricks Labs 프레임워크입니다.
  • Impulse는 시계열 분석을 수백 테라바이트의 측정 데이터 규모로 확장하는 동시에, 분석의 재현성을 유지하고 팀 간에 공유할 수 있게 하며 Unity Catalog를 통해 거버넌스를 적용합니다.
  • AVL은 기존의 온프레미스 플랫폼을 Databricks 기반의 Impulse로 대체하여 분석 시간을 며칠에서 몇 분으로 단축하고 조직 전체의 측정 데이터 분석을 표준화했습니다.

1. 소개 - Impulse: 측정 데이터를 위한 시계열 분석

단 한 번의 자동차 테스트 캠페인만으로도 수십만 개의 측정 기록과 수백 테라바이트의 시계열 센서 데이터가 생성됩니다. 이 데이터는 ASAM MDF4와 같은 바이너리 형식으로 저장되며, 전통적으로 NI DIAdem 또는 MATLAB과 같은 데스크톱 도구로 분석되어 왔습니다. 도메인 엔지니어들이 이러한 도구를 선호하는 데는 그만한 이유가 있습니다. 빅데이터 프레임워크나 분산 컴퓨팅 전문가가 되지 않고도, 어떤 신호를 비교할지, 어떤 조건이 중요한 이벤트를 정의할지 결정하는 등 실제 분석에만 집중할 수 있기 때문입니다. 하지만 이러한 도구는 확장성이 떨어지고, 개별 스크립트 기반의 분석은 재현하기 어려우며, 데이터는 현대 기업이 의존하는 거버넌스 체계 밖에 존재하게 됩니다.

Impulse는 Databricks Labs 프로젝트로 공개된 Python 기반의 분석 라이브러리로, Databricks Intelligence Platform에서 이러한 격차를 해소합니다. 그 핵심(그림 1)으로 Impulse는 세 가지 주요 요소를 제공합니다.

  1. Spark에 대한 전문 지식 없이도 엔지니어가 자연스러운 Python으로 신호 연산, 이벤트 조건 및 집계를 표현할 수 있도록 지원하는 선언형 Time Series Analytics Language (TSAL)
  2. 어떤 입력 데이터 레이아웃에 저장되어 있든 수천 개의 기록에 대해 TSAL 표현식을 분산 Spark 실행으로 컴파일하는 플러그형 쿼리 엔진
  3. 측정 컨테이너, 센서 채널, 작동 이벤트, 기간 및 거리 가중 집계 등 엔지니어가 데이터를 생각하는 방식에 직접 매핑되는 도메인 인식 추상화

이 블로그 게시물에서는 Impulse가 Databricks 상에서 AVL의 측정 데이터용 레이크하우스(Lakehouse for Measurement Data)를 어떻게 지원하는지 소개합니다. AVL은 차량 및 에너지 시스템의 개발, 시뮬레이션 및 테스트를 전문으로 하는 세계적인 모빌리티 기술 기업입니다. 이들은 측정 및 시뮬레이션 데이터를 활용하여 설계를 검증하고, 시스템 동작을 이해하며, 가상 모델에서 실제 테스트에 이르기까지 데이터 기반 제품 개발을 가속화합니다. 여기서는 레이크하우스 아키텍처, 도메인 엔지니어, 데이터 엔지니어, 데이터 과학자 모두에게 유용한 세 가지 상호 보완적인 사용 모드, 그리고 AVL이 실제 운영 환경에서 거둔 효과를 살펴봅니다. Impulse는 Mercedes-Benz와 공동 개발하고 이전 블로그 게시물에서 설명한 계층형 Silver 레이어 데이터 모델을 기반으로 구축되었습니다.

Impulse 아키텍처.
그림 1 – Impulse 아키텍처. 이 프레임워크는 세 가지 구성 요소로 이루어져 있습니다. TSAL은 Spark에 대한 전문 지식 없이도 신호, 이벤트 및 집계를 표현할 수 있는 선언형 Python DSL입니다. 플러그형 Query Engine은 TSAL 표현식을 분산 Spark 실행 계획으로 컴파일하고 Silver 레이어 데이터에 대해 쿼리를 실행합니다. 도메인 인식 집계에는 기간 및 거리 가중 1D/2D 히스토그램과 이벤트 범위 통계가 포함됩니다. 최종적으로 Impulse는 결과를 Gold 레이어 스타 스키마에 기록합니다.

2. 아키텍처 - 측정 데이터용 레이크하우스

AVL의 플랫폼은 Medallion 아키텍처를 따르며, Unity Catalog가 모든 레이어에 걸쳐 거버넌스를 제공하고 Databricks Workflows가 파이프라인을 오케스트레이션합니다(그림 2 참조).

1. 소스 및 수집: 원시 측정 파일(예: ASAM MDF4 형식)은 Databricks Solution Accelerator를 사용하여 Bronze 레이어로 수집됩니다. AVL은 여러 독점 파일 형식을 지원하는 자사의 측정 데이터 관리 시스템인 AVL Concerto와 연동되도록 이 액셀러레이터를 확장했습니다. 컨텍스트 메타데이터(차량 ID, 소프트웨어 버전, 프로젝트 태그 등)는 기록된 파일과 함께 수집됩니다.

2. Silver 레이어: Bronze 데이터는 측정 데이터를 위한 계층형 데이터 모델로 변환됩니다. 이 모델은 컨테이너(즉, 개별 파일) 및 채널(센서 신호)을 중심으로 데이터를 구성하며, 각 데이터는 컨테이너 수준 및 채널 수준의 속성/태그 및 메트릭으로 보강됩니다. Silver 레이어는 분석 처리를 위해 준비된, 검증되고 품질이 보증된 데이터를 저장합니다. 데이터 품질 보증 규칙은 Databricks DQX 프레임워크를 사용하여 구현되며, 특정 다운스트림 분석 요구사항을 충족하도록 완전히 구성 및 맞춤 설정할 수 있습니다. Silver 레이어 데이터 모델에 대한 자세한 내용은 이전에 게시된 블로그 게시물을 참조하세요.

3. + 4. Silver에서 Gold로: Silver 레이어는 Impulse로 입력되며, Impulse는 선언형 분석 로직을 분산 Spark 실행으로 변환합니다. 출력은 보고용 Gold 레이어 스타 스키마, 탐색용 애드혹 DataFrame 또는 ML용 피처 매트릭스가 될 수 있습니다(섹션 5 참조).

5. 서빙 및 분석: Databricks 대시보드 또는 Lakehouse Apps와 같은 BI 도구는 SQL Warehouses를 통해 Gold 레이어 데이터를 사용하므로, 컴퓨팅 파이프라인을 건드리지 않고도 대화형 탐색이 가능합니다.

레이크하우스의 상위 수준 참조 아키텍처
그림 2 – 측정 데이터용 레이크하우스의 상위 수준 참조 아키텍처. (1) 원시 측정 파일이 Bronze 레이어로 수집됩니다. (2) 데이터가 표준화된 Silver 레이어 데이터 모델로 변환됩니다. (3+4) Impulse가 선언형 분석 로직을 분산 실행으로 변환하고 Gold 레이어 출력을 생성합니다. (5) BI 도구와 Lakehouse Apps가 결과를 최종 사용자에게 제공합니다. 자세한 내용은 본문을 참조하세요.

3. Impulse 활용하기: 단 10줄의 Python 코드로 완성하는 분석

Impulse를 이해하는 가장 좋은 방법은 실제 작동 모습을 보는 것입니다. 이 섹션에서는 배터리 온도 센서 선택, 해당 센서를 기반으로 한 열 폭주 위험 이벤트 정의, 기간 가중 히스토그램 계산 등 TSAL(Time Series Analytics Language)을 사용한 최소한의 실제적인 예시를 살펴보겠습니다.

물리적 채널 선택 및 가상 채널 정의

모든 분석의 시작점은 관심 있는 물리적 센서 채널을 선택하는 것입니다. QueryBuilder는 Silver 레이어 메타데이터 테이블을 검색하고 TSAL 표현식을 반환합니다. 아래 예시에서는 EV 플랫폼에서 가장 높은 셀 온도와 가장 낮은 셀 온도를 가져와 온도 불균형(델타)을 계산합니다.

가상 채널을 정의하는 단 한 줄의 코드가 꽤 복잡한 계산을 내포하고 있다는 점에 유의하세요. 프레임워크는 연산을 수행하기 전에 채널 별칭 확인, 단위 변환, 채널을 공통 시간축에 정렬하고 데이터 포인트 보간을 자동으로 수행합니다.

이벤트 정의

이벤트는 신호 조건에서 파생된 시간 창(time window)입니다. 여기서는 절대 최대 셀 온도가 안전 임계값(60°C)을 초과하거나 셀 간의 온도 편차가 비정상적으로 높은(5°C 초과) 중요한 안전 이벤트를 정의합니다.

TSAL 표현식은 완전히 구성 가능합니다. 가상 채널, 부울 조건 및 집계가 서로를 참조할 수 있습니다.

이벤트 내에서 히스토그램 계산

마지막으로 열 위험 이벤트로 범위를 제한하여 최대 셀 온도의 기간 가중 히스토그램을 정의합니다. 이 히스토그램은 각 온도 구간(bin)에서 소요된 시간을 계산하므로 센서 샘플링 속도에 관계없이 물리적으로 의미 있는 결과를 생성합니다.

분석 실행

두 개의 메서드 호출이 일치하는 모든 측정 기록에 대한 분산 컴퓨팅을 트리거하고, 그 결과를 Unity Catalog에 골드 레이어(Gold-layer) 스타 스키마 테이블로 저장합니다. 채널 선택부터 가상 신호 계산, 이벤트 정의, 히스토그램 집계 및 지속성 저장에 이르는 전체 분석은 약 10줄의 Python 코드로 완료됩니다. 사용자는 DataFrame 변환, 사용자 정의 함수(UDF), 조인(join) 또는 윈도우 함수(window function)를 직접 작성할 필요가 전혀 없습니다.

4. Impulse를 사용하는 세 가지 방법 – 보고, 임시(ad-hoc) 분석 및 ML

Impulse는 동일한 TSAL 표현식 언어 및 쿼리 엔진을 기반으로 구축된 세 가지 상호 보완적인 사용 모드(그림 3)를 지원합니다. 정형 보고 모드에서 도메인 엔지니어는 일치하는 모든 기록에서 병렬로 실행되는 이벤트와 집계를 정의하고, 이를 골드 레이어 스타 스키마에 저장하여 AI/BI 대시보드 또는 Lakehouse Apps에서 바로 사용할 수 있도록 합니다. 이 파이프라인은 새로운 측정 데이터가 들어올 때 자동으로 업데이트되도록 Databricks Workflow로 예약할 수 있습니다. 임시(ad-hoc) 모드에서는 TSAL 표현식이 쿼리 엔진에 의해 직접 평가되고 노트북에서의 대화형 탐색을 위해 Spark DataFrame으로 반환되며, 골드 레이어에 기록되지 않습니다. ML 모드에서는 이벤트 범위 통계 및 히스토그램 분포가 평면 피처 행렬(flat feature matrix)로 추출되어 MLflow, AutoML 또는 맞춤형 학습 파이프라인으로 직접 전달될 수 있습니다.

네 가지 페르소나와 이들의 Impulse 상호 작용
그림 3 – 네 가지 페르소나와 이들의 Impulse 상호 작용. 세 가지 활성 사용 모드는 모두 동일한 TSAL 코어 및 쿼리 엔진을 공유하며, 이해관계자는 대시보드 및 Lakehouse Apps를 통해 결과를 사용합니다.

실제 AVL의 Impulse 활용 방법

실제로 AVL은 주로 정형 보고 모드를 사용하여 구성 가능하고 표준화된 분석 패키지(“툴박스”)를 구축함으로써 Impulse 프레임워크의 장점을 활용합니다. 이러한 툴박스는 도메인 엔지니어가 특정 엔지니어링 작업이나 분석 초점에 따라 새로 유입되는 측정 캠페인에 대해 실행합니다.

그 결과 생성된 골드 레이어 출력은 Databricks 대시보드 및 Lakehouse Apps에 원활하게 통합되어, 엔지니어가 결과를 대화형으로 탐색하고 히스토그램, 히트맵 및 기타 통계 시각화 자료를 생성하여 데이터 기반의 엔지니어링 의사 결정을 내릴 수 있도록 지원합니다.

5. 결과 및 영향

Impulse 프레임워크와 Databricks Data Intelligence Platform의 도움으로 AVL은 데이터 기반 제품 개발을 지원하는 엔드투엔드 엔지니어링 데이터 플랫폼을 구축했습니다. 이 플랫폼은 자동차 데이터 분석의 새로운 표준을 제시하며 여러 차원에 걸쳐 개선 사항을 제공합니다:

정량적 개선 사항

  • 분석 시간의 획기적인 단축 (기존 방식 대비 며칠에서 몇 분 수준으로 단축)
  • 단 한 번의 실행으로 대규모 측정 기록을 처리할 수 있는 기능
  • 온프레미스 솔루션 대비 인프라 비용 절감

정성적 개선 사항

  • 셀프 서비스 분석을 통한 도메인 엔지니어의 역량 강화
  • 완벽하게 재현 가능하고 투명한 분석
  • 단일 통합 데이터 플랫폼을 통한 팀 간 표준화

6. 향후 계획 - 오픈 소스 및 앞으로 나아갈 길

Impulse는 Databricks Labs 프로젝트로 출시되며(여기를 참조하세요), 새로운 집계, 쿼리 솔버 및 도메인별 확장에 대한 커뮤니티 기여를 환영합니다. 이 프레임워크는 보고 및 ML 사용 모드를 시연할 수 있는 공개 데모 데이터 세트, 전체 문서 및 Databricks 노트북과 함께 제공됩니다.

AVL에게 오늘의 배포는 측정 데이터를 위한 레이크하우스의 기초에 불과합니다. 향후 로드맵에서는 Impulse를 ADAS 및 자율주행 검증, 예측 유지보수, 시뮬레이션 데이터로 확장하여 엔드투엔드 데이터 기반 제품 개발을 실현해 나갈 것입니다.

(이 글은 AI의 도움을 받아 번역되었습니다. 원문이 궁금하시다면 여기를 클릭해 주세요)

최신 게시물을 이메일로 받아보세요

블로그를 구독하고 최신 게시물을 이메일로 받아보세요.