주요 컨텐츠로 이동

구체화 뷰

Databricks 무료로 시작하기

Databricks Delta의 Delta 파이프라인/구체화 뷰

Intro

Delta 파이프라인은 데이터 파이프라인 수명 주기를 관리할 수 있도록 일련의 API와 UI를 제공합니다. 이것은 오픈 소스 프레임워크로 데이터 엔지니어링 팀에서 ETL 개발을 간소화하고 데이터 안정성을 개선하며 운영을 확장하는 데 도움이 됩니다. 데이터 변환을 위해 코딩하고 작업을 예약하는 방식이 아니라, 선언적 파이프라인을 구축하여 여러분이 원하는 데이터의 최종 상태를 손쉽게 정의할 수 있습니다.  다양한 여러 작업 사이에 종속성을 연쇄적으로 연결하여 테이블 하나를 업데이트하면 자동으로 다운스트림 재처리를 모두 트리거하도록 설정할 수 있습니다. Delta Lake를 이용하면 Delta 파이프라인을 포함한 안정적인 데이터 레이크를 완비하여 데이터 워크플로에 적합한 안정적인 데이터 파이프라인도 확보하게 됩니다.

Delta 파이프라인 Dataset

Delta Pipeline의 기본 추상화를 일명 데이터 세트라고 합니다. 데이터 세트란 근본적으로 API를 사용해 표현할 수 있는 기본 표의 쿼리나 뷰라고 보면 됩니다.  아래에 Scala API를 사용한 예를 들어 보았습니다.


dataset("events")
   .query {
       input("base_table")
       .select(...)
       .filter(...)
   }

데이터 세트의 구체화 뷰 만들기

Delta Pipeline은 .materialize() 연산자를 Dataset로 바꾸기만 하는 간단한 방식으로 데이터의 구체화 뷰를 만드는 기능도 제공합니다.


dataset("events")
  .query {
     input("base_table")
     .select(...)
     .filter(...)
  }
     .materialize()

다시 말해 데이터가 Delta 파이프라인을 통과해 흐르면서 “이벤트” 구체화 뷰가 꾸준히 업데이트된다는 뜻입니다. 새 데이터가 도착해 ACID 트랜잭션을 통해 기본 테이블에 커밋되면 구체화 뷰도 그와 같은 트랜잭션 각각에 대하여 증분 방식으로 계속 업데이트됩니다. 사용자는 구체화 뷰를 언제, 얼마나 자주 새로 고쳐야 하는지 걱정할 필요가 없고, 심지어 OPTIMIZE나 VACUUM 명령을 실행할 시기 같은 것도 신경 쓰지 않아도 됩니다. 이 모든 것을 백그라운드에서 자동으로 수행하기 때문입니다.

Delta 파이프라인에 관한 자세한 정보는 아래의 영상을 참조하세요.

    용어집으로 돌아가기