주요 컨텐츠로 이동

단일 DLT 파이프라인에서 여러 카탈로그 및 스키마로 게시

구문을 간소화하고 비용을 최적화하며 운영 복잡성을 줄입니다.

Publish to Multiple Catalogs and Schemas from a Single DLT Pipeline

발행일: 2025년 3월 12일

공지사항3 min read

Summary

  • 다중 스키마 및 카탈로그 지원: 단일 DLT 파이프라인에서 여러 스키마 및 카탈로그로 게시할 수 있습니다.
  • 간소화된 구문 및 비용 절감: LIVE 키워드를 제거하고 인프라 오버헤드를 줄입니다.
  • 향상된 관찰 가능성: Unity Catalog로 이벤트 로그를 게시하고 SQL 및 Python을 사용하여 여러 위치의 데이터를 관리합니다.

DLT는 Databricks 내에서 안정적이고 유지보수 가능하며 테스트 가능한 데이터 처리 파이프라인을 구축하기 위한 강력한 플랫폼을 제공합니다. 선언적 프레임워크와 최적화된 서버리스 컴퓨팅의 자동 프로비저닝을 활용하여 DLT는 스트리밍, 데이터 변환 및 관리의 복잡성을 단순화하여 최신 데이터 워크플로우에 대한 확장성과 효율성을 제공합니다.

많은 기대를 모았던 기능 향상인 단일 DLT 파이프라인 내에서 여러 스키마와 카탈로그로 테이블을 게시하는 기능을 발표하게 되어 기쁩니다. 이 기능을 통해 조직 및 거버넌스 모범 사례를 유지하면서 메달리온 아키텍처(Bronze, Silver, Gold)를 단일 파이프라인으로 통합할 수 있어 운영 복잡성을 줄이고 비용을 절감하며 데이터 관리를 단순화할 수 있습니다.

이 기능 향상을 통해 다음을 수행할 수 있습니다:

  • 파이프라인 구문 단순화 – 테이블 간의 종속성을 나타내기 위해 LIVE 구문이 필요하지 않습니다. 표준 SQL과 마찬가지로 완전하거나 부분적으로 정규화된 테이블 이름과 USE SCHEMAUSE CATALOG 명령이 지원됩니다.
  • 운영 복잡성 감소 – 스키마 또는 카탈로그별로 별도의 파이프라인을 사용할 필요 없이 통합된 DLT 파이프라인 내에서 모든 테이블을 처리하고 게시합니다.
  • 비용 절감 – 여러 워크로드를 단일 파이프라인으로 통합하여 인프라 오버헤드를 최소화합니다.
  • 가시성 향상 – 향상된 모니터링 및 거버넌스를 위해 Unity Catalog 메타스토어의 표준 테이블로 이벤트 로그를 게시합니다.
“하나의 DLT 파이프라인에서 여러 카탈로그와 스키마로 게시하는 기능과 더 이상 LIVE 키워드가 필요하지 않다는 점은 파이프라인 모범 사례를 표준화하고 개발 노력을 간소화하며 대규모 엔터프라이즈에서 도구 채택의 일환으로 팀이 DLT로 쉽게 전환하는 데 도움이 되었습니다.” — Ron DeFreitas, Principal Data Engineer, HealthVerity

HealthVerity

시작하는 방법

파이프라인 생성

UI에서 생성된 모든 파이프라인은 이제 여러 카탈로그와 스키마를 지원하도록 기본 설정됩니다. UI, API 또는 Databricks Asset Bundles(DAB)를 통해 파이프라인 수준에서 기본 카탈로그와 스키마를 설정할 수 있습니다.

UI에서:

  1. 평소처럼 새 파이프라인을 만듭니다.
  2. 파이프라인 설정에서 기본 카탈로그와 스키마를 설정합니다.

API에서:

프로그래밍 방식으로 파이프라인을 생성하는 경우 PipelineSettingsschema 필드를 지정하여 이 기능을 활성화할 수 있습니다. 이 필드는 기존 target 필드를 대체하여 데이터 세트가 여러 카탈로그와 스키마에 걸쳐 게시될 수 있도록 합니다.

API를 통해 이 기능을 갖춘 파이프라인을 생성하려면 다음 코드 샘플을 따를 수 있습니다 (참고: 작업 영역에 대해 개인 액세스 토큰 인증이 활성화되어 있어야 합니다):

schema 필드를 설정하면 파이프라인은 LIVE 키워드 없이도 여러 카탈로그와 스키마로 테이블을 게시하는 것을 자동으로 지원합니다.

DAB에서

  1. Databricks CLI 버전이 v0.230.0 이상인지 확인하십시오. 그렇지 않은 경우 설명서에 따라 CLI를 업그레이드하십시오.
  2. 설명서에 따라 Databricks Asset Bundle(DAB) 환경을 설정합니다. 이러한 단계를 따르면 Databricks CLI에서 생성된 DAB 디렉터리가 있으며 여기에는 모든 구성 및 소스 코드 파일이 포함됩니다.
  3. 다음 아래에서 DLT 파이프라인을 정의하는 YAML 파일을 찾습니다:
    <your dab folder>/<resource>/<pipeline_name>_pipeline.yml
  4. 파이프라인 YAML에서 schema 필드를 설정하고 존재하는 경우 target 필드를 제거합니다.
  5. databricks bundle validate“를 실행하여 DAB 구성이 유효한지 확인합니다.
  6. databricks bundle deploy -t <environment>“를 실행하여 첫 번째 DPM 파이프라인을 배포합니다!
“이 기능은 예상대로 작동합니다! DLT 내의 서로 다른 데이터 세트를 스테이지, 코어 및 UDM 스키마(기본적으로 브론즈, 실버, 골드 설정)로 단일 파이프라인 내에서 분할할 수 있었습니다.” — Florian Duhme, Expert Data Software Developer, Arvato

Arvato

여러 카탈로그 및 스키마로 테이블 게시

파이프라인이 설정되면 SQL과 Python 모두에서 완전하거나 부분적으로 정규화된 이름을 사용하여 테이블을 정의할 수 있습니다.

SQL 예제

Python 예제

데이터 세트 읽기

LIVE 키워드는 이전 버전과의 호환성을 위해 선택 사항으로, 완전하거나 부분적으로 정규화된 이름을 사용하여 데이터 세트를 참조할 수 있습니다.

SQL 예제

Python 예제

가이드

최신 분석을 위한 컴팩트 가이드

API 동작 변경 사항

이 새로운 기능을 통해 주요 API 메서드가 여러 카탈로그와 스키마를 보다 원활하게 지원하도록 업데이트되었습니다:

dlt.read()dlt.read_stream()

이전에는 이러한 메서드가 현재 파이프라인 내에서 정의된 데이터셋만 참조할 수 있었습니다. 이제 여러 카탈로그와 스키마에 걸쳐 데이터셋을 참조할 수 있으며, 필요한 종속성을 자동으로 추적합니다. 이를 통해 추가적인 수동 구성 없이 다양한 위치의 데이터를 통합하는 파이프라인을 더 쉽게 구축할 수 있습니다.

spark.read()spark.readStream()

과거에는 이러한 메서드가 외부 데이터셋에 대한 명시적인 참조를 요구하여 카탈로그 간 쿼리가 더 번거로웠습니다. 새로운 업데이트를 통해 이제 종속성이 자동으로 추적되며 더 이상 LIVE 스키마가 필요하지 않습니다. 이를 통해 단일 파이프라인 내에서 여러 소스의 데이터를 읽는 프로세스가 간소화됩니다.

USE CATALOG 및 USE SCHEMA 사용

Databricks SQL 구문은 이제 활성 카탈로그 및 스키마를 동적으로 설정하는 것을 지원하므로 여러 위치의 데이터를 더 쉽게 관리할 수 있습니다.

SQL 예시

Python 예시

Unity Catalog에서 이벤트 로그 관리

이 기능은 또한 파이프라인 소유자가 Unity Catalog 메타스토어에 이벤트 로그를 게시하여 관찰 가능성을 개선할 수 있도록 합니다. 이를 활성화하려면 파이프라인 설정 JSON에서 event_log 필드를 지정하세요. 예시:

이를 통해 일반 테이블과 마찬가지로 이벤트 로그 테이블에 GRANTS를 발행할 수 있습니다.

이벤트 로그 테이블에 대한 뷰를 만들 수도 있습니다.

위의 모든 것 외에도 이벤트 로그 테이블에서 스트리밍할 수도 있습니다.

다음 단계

향후 이러한 개선 사항은 UI, API 또는 Databricks Asset Bundles를 통해 생성되는 모든 새 파이프라인에 기본적으로 적용됩니다. 또한 기존 파이프라인을 새 게시 모델로 전환하는 데 도움이 되는 마이그레이션 도구가 곧 제공될 예정입니다.

자세한 내용은 여기 문서에서 읽어보세요.

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

Never miss a Databricks post

Subscribe to our blog and get the latest posts delivered to your inbox