Mapping Karrot’s Data: How We Built Column-Level Lineage
19
AI 요약

이 글은 AI가 원문을 분석하여 핵심 내용을 요약한 것입니다.

Karrot의 컬럼 단위 데이터 계보 구축

이 게시물은 Karrot 데이터 팀이 SQL 파싱을 통해 컬럼 단위 데이터 계보를 구축한 과정을 설명합니다.

문제 인식과 필요성

  • 여러 팀이 BigQuery에서 파생 테이블을 생성하며 데이터 흐름 파악이 어려웠음
  • 테이블 단위 계보만으로는 세부 컬럼 영향 분석이나 PII 추적이 불가능함

계보 추출 방법 평가

  • BigQuery 메타데이터와 OpenLineage는 한계가 있어 도입 어려움
  • SQL 쿼리를 직접 파싱하는 방식을 선택하여 쿼리 로그에서 컬럼 단위 의존성을 추출

구현 및 기술 스택

  • sqlglot 라이브러리를 활용해 AST를 생성하고 컬럼 의존성을 분석
  • Spark로 대량 쿼리를 병렬 처리, Airflow로 주기적 추출 작업 스케줄링
  • BigQuery에 계보 데이터를 저장하여 활용

복잡한 쿼리 처리

  • CTE, 서브쿼리, 별칭 처리 등 복잡한 SQL 구조를 단계별로 분석하여 컬럼 출처 추적
  • 점진적으로 커버리지 확장하며 완성도를 높임

연관 게시글