다음을 통해 공유


LIVE 스키마(구식)

이 문서에서는 LIVE 가상 스키마에 대한 레거시 구문 및 동작에 대한 개요를 제공합니다.

LIVE 가상 스키마는 DLT 파이프라인의 레거시 기능이며 더 이상 사용되지 않는 것으로 간주됩니다. 이 모드로 만든 파이프라인에는 레거시 게시 모드 및 LIVE 가상 스키마를 계속 사용할 수 있습니다.

레거시 LIVE 가상 스키마 및 레거시 게시 모드에 대한 지원은 이후 버전의 Azure Databricks에서 제거됩니다.

메모

레거시 게시 모드 파이프라인은 DLT 파이프라인 설정 UI의 요약 필드에 표시됩니다. 파이프라인에 대한 JSON 사양에서 target 필드가 설정된 경우 파이프라인이 레거시 게시 모드를 사용하는지 확인할 수도 있습니다.

파이프라인 구성 UI를 사용하여 레거시 게시 모드로 새 파이프라인을 만들 수 없습니다. 레거시 LIVE 구문을 사용하여 새 파이프라인을 배포해야 하는 경우 Databricks 계정 담당자에게 문의하세요.

LIVE 가상 스키마란?

메모

LIVE 가상 스키마는 더 이상 DLT의 기본 게시 모드에서 데이터 세트 종속성을 분석할 필요가 없습니다.

LIVE 스키마는 파이프라인에서 만들거나 업데이트된 모든 데이터 세트에 대한 가상 경계를 정의하는 DLT의 프로그래밍 개념입니다. 기본적으로 LIVE 스키마는 게시된 스키마의 데이터 세트에 직접 연결되지 않습니다. 대신 LIVE 스키마를 사용하면 사용자가 스키마에 데이터 세트를 게시하지 않으려는 경우에도 파이프라인의 논리를 계획하고 실행할 수 있습니다.

레거시 게시 모드 파이프라인에서는 LIVE 키워드를 사용하여 읽기를 위해 현재 파이프라인의 다른 데이터 세트(예: SELECT * FROM LIVE.bronze_table)를 참조할 수 있습니다. 새 DLT 파이프라인에 대한 기본 게시 모드에서 이 구문은 자동으로 무시됩니다. 즉, 정규화되지 않은 식별자는 현재 스키마를 사용합니다. 대상 카탈로그 및 스키마설정을 참조하세요.

파이프라인에 대한 레거시 게시 모드

LIVE 가상 스키마는 DLT 파이프라인에 대한 레거시 게시 모드와 함께 사용됩니다. 2025년 2월 5일 이전에 만든 모든 테이블은 기본적으로 레거시 게시 모드를 사용합니다.

다음 표에서는 레거시 게시 모드에서 파이프라인에서 만들거나 업데이트된 모든 구체화된 뷰 및 스트리밍 테이블에 대한 동작을 설명합니다.

스토리지 옵션 스토리지 위치 또는 카탈로그 대상 스키마 행동
Hive 메타스토어 없음 지정됨 없음 지정됨 데이터 세트 메타데이터 및 데이터는 DBFS 루트에 저장됩니다. Hive 메타스토어에 등록된 데이터베이스 개체가 없습니다.
Hive 메타스토어 클라우드 개체 스토리지에 대한 URI 또는 파일 경로입니다. 없음 지정됨 데이터 세트 메타데이터 및 데이터는 지정된 스토리지 위치에 저장됩니다. Hive 메타스토어에 등록된 데이터베이스 개체가 없습니다.
Hive 메타스토어 없음 지정됨 Hive 메타스토어의 기존 스키마 또는 새 스키마입니다. 데이터 세트 메타데이터 및 데이터는 DBFS 루트에 저장됩니다. 파이프라인의 구체화된 모든 뷰 및 스트리밍 테이블은 Hive 메타스토어의 지정된 스키마에 게시됩니다.
Hive 메타스토어 클라우드 개체 스토리지에 대한 URI 또는 파일 경로입니다. Hive 메타스토어의 기존 스키마 또는 새 스키마입니다. 데이터 세트 메타데이터 및 데이터는 지정된 스토리지 위치에 저장됩니다. 파이프라인의 구체화된 모든 뷰 및 스트리밍 테이블은 Hive 메타스토어의 지정된 스키마에 게시됩니다.
Unity 카탈로그 기존 Unity 카탈로그입니다. 없음 지정됨 데이터 세트 메타데이터 및 데이터는 대상 카탈로그와 연결된 기본 스토리지 위치에 저장됩니다. Unity 카탈로그에 등록된 데이터베이스 개체가 없습니다.
Unity 카탈로그 기존 Unity 카탈로그입니다. Unity 카탈로그의 기존 스키마 또는 새 스키마입니다. 데이터 세트 메타데이터 및 데이터는 대상 스키마 또는 카탈로그와 연결된 기본 스토리지 위치에 저장됩니다. 파이프라인의 모든 구체화된 뷰 및 스트리밍 테이블은 Unity 카탈로그의 지정된 스키마에 게시됩니다.

LIVE 스키마에서 소스 코드 업데이트

새 기본 게시 모드로 실행되도록 구성된 파이프라인은 LIVE 스키마 구문을 자동으로 무시합니다. 기본적으로 모든 테이블 읽기는 파이프라인 구성에 지정된 카탈로그 및 스키마를 사용합니다.

대부분의 기존 파이프라인의 경우 레거시 LIVE 가상 스키마 동작이 파이프라인 구성에 지정된 카탈로그 및 스키마로 읽기를 전달하므로 이 동작 변경은 영향을 주지 않습니다.

중요하다

작업 영역 기본 카탈로그 및 스키마를 활용하는 읽기가 있는 레거시 코드에는 코드 업데이트가 필요합니다. 구체화된 뷰 정의는 다음과 같습니다.

CREATE MATERIALIZED VIEW silver_table
AS SELECT * FROM raw_data

레거시 게시 모드에서 raw_data 테이블에서 정규화되지 않은 읽기는 작업 영역 기본 카탈로그 및 스키마(예: main.default.raw_data)를 사용합니다. 새 기본 파이프라인 모드에서 기본적으로 사용되는 카탈로그 및 스키마는 파이프라인 구성에 구성된 것입니다. 이 코드가 예상대로 계속 작동하도록 하려면 다음 예제와 같이 테이블에 대한 정규화된 식별자를 사용하도록 참조를 업데이트합니다.

CREATE MATERIALIZED VIEW silver_table
AS SELECT * FROM main.default.raw_data

Unity 카탈로그 레거시 게시 모드 파이프라인의 이벤트 로그와 함께 작업하기

중요하다

event_log TVF는 Unity 카탈로그에 테이블을 게시하는 레거시 게시 모드 파이프라인에 사용할 수 있습니다. 새 파이프라인의 기본 동작은 파이프라인에 대해 구성된 대상 카탈로그 및 스키마에 이벤트 로그를 게시합니다. 이벤트 로그쿼리를 참조하세요.

Hive 메타스토어로 구성된 테이블에는 이벤트 로그 지원 및 동작도 다릅니다. Hive 메타스토어 파이프라인 대한 이벤트 로그 작업참조하세요.

파이프라인이 레거시 게시 모드를 사용하여 Unity 카탈로그에 테이블을 게시하는 경우 event_logTVF(테이블 반환 함수)를 사용하여 파이프라인에 대한 이벤트 로그를 가져와야 합니다. 파이프라인 ID 또는 테이블 이름을 TVF에 전달하여 파이프라인에 대한 이벤트 로그를 검색합니다. 예를 들어 ID가 04c78631-3dd7-4856-b2a6-7d84e9b2638b파이프라인에 대한 이벤트 로그 레코드를 검색하려면 다음을 수행합니다.

SELECT * FROM event_log("04c78631-3dd7-4856-b2a6-7d84e9b2638b")

테이블 my_catalog.my_schema.table1을(를) 만들거나 소유하는 파이프라인의 이벤트 로그 기록을 검색하려면:

SELECT * FROM event_log(TABLE(my_catalog.my_schema.table1))

TVF를 호출하려면 공유 클러스터 또는 SQL 웨어하우스를 사용해야 합니다. 예를 들어 공유 클러스터에 연결된 Notebook을 사용하거나 SQL 웨어하우스에 연결된 SQL 편집기 사용할 수 있습니다.

파이프라인에 대한 이벤트 쿼리를 간소화하기 위해 파이프라인 소유자는 event_log TVF를 통해 보기를 만들 수 있습니다. 다음 예제에서는 파이프라인에 대한 이벤트 로그에 대한 뷰를 만듭니다. 이 보기는 이 문서에 포함된 예제 이벤트 로그 쿼리에 사용됩니다.

메모

  • event_log TVF는 파이프라인 소유자만 호출할 수 있습니다.
  • 파이프라인 또는 쿼리에서 event_log 테이블 반환 함수를 사용하여 여러 파이프라인의 이벤트 로그에 액세스할 수 없습니다.
  • event_log 테이블 반환 함수를 통해 만든 보기를 다른 사용자와 공유할 수 없습니다.
CREATE VIEW event_log_raw AS SELECT * FROM event_log("<pipeline-ID>");

<pipeline-ID> DLT 파이프라인의 고유 식별자로 바꿉다. DLT UI의 파이프라인 세부 정보 패널에서 ID를 찾을 수 있습니다.

파이프라인 실행의 각 인스턴스를 업데이트라고 합니다. 최신 업데이트에 대한 정보를 추출하려는 경우가 많습니다. 다음 쿼리를 실행하여 최신 업데이트의 식별자를 찾아 latest_update_id 임시 보기에 저장합니다. 이 보기는 이 문서에 포함된 예제 이벤트 로그 쿼리에 사용됩니다.

CREATE OR REPLACE TEMP VIEW latest_update AS SELECT origin.update_id AS id FROM event_log_raw WHERE event_type = 'create_update' ORDER BY timestamp DESC LIMIT 1;