Delta Live Tables란?
참고 항목
Delta Live Tables을 위해 Premium 요금제이 필요합니다. 더 자세한 내용은 Databricks 계정 팀에 문의하세요.
Delta Live Tables ETL(안정적이고 유지 관리 가능한 추출, 변환 및 로드) 파이프라인 생성을 간소화하도록 설계된 선언적 프레임워크입니다. 수집할 데이터 및 변환 방법을 지정하고 Delta Live Tables 오케스트레이션, 컴퓨팅 관리, 모니터링, 데이터 품질 적용 및 오류 처리를 포함하여 데이터 파이프라인 관리의 주요 측면을 자동화합니다.
Delta Live Tables Apache Spark를 기반으로 하지만 일련의 별도 Apache Spark 작업을 사용하여 데이터 파이프라인을 정의하는 대신, 시스템에서 만들어야 하는 스트리밍 tables 및 구체화된 views 정의하고 해당 스트리밍 update 채우고 tables 데 필요한 쿼리를 구체화하고 views구체화합니다.
Delta Live Tables사용하여 ETL 파이프라인을 빌드하고 실행하는 이점에 대한 자세한 내용은 Delta Live Tables 제품 페이지참조하세요.
델타 라이브 Tables 이점, Apache Spark과 비교하여
Apache Spark는 ETL을 비롯한 다양한 오픈 소스 통합 분석 엔진입니다. Delta Live Tables 특정 및 일반적인 ETL 처리 작업을 해결하기 위해 Spark를 기반으로 합니다. Delta Live Tables 요구 사항에 다음을 비롯한 처리 작업이 포함된 경우 프로덕션 경로를 크게 가속화할 수 있습니다.
- 일반적인 원본에서 데이터를 수집합니다.
- 데이터를 증분 방식으로 변환합니다.
- CDC(변경 데이터 캡처) 수행
그러나 Delta Live Tables 일부 유형의 절차 논리를 구현하는 데 적합하지 않습니다. 예를 들어, 외부 table에 쓰거나 외부 파일 스토리지 또는 데이터베이스 tables에서 작동하는 조건을 포함하는 것과 같은 처리 요구 사항은 Delta Live Tables 데이터 세트를 정의하는 코드 내에서 수행할 수 없습니다. Delta Live Tables에서 지원되지 않는 처리를 구현하기 위해 Databricks는 Apache Spark를 사용하는 것을 권장하거나, 별도의 작업 태스크로 처리를 수행하는 Databricks 작업에 파이프라인을 포함하는 것을 권장합니다. 작업에 대한
다음 table Delta Live Tables Apache Spark와 비교합니다.
능력 | Delta Live Tables | Apache Spark |
---|---|---|
데이터 변환 | SQL 또는 Python을 사용하여 데이터를 변환할 수 있습니다. | SQL, Python, Scala 또는 R을 사용하여 데이터를 변환할 수 있습니다. |
증분 데이터 처리 | 많은 데이터 변환이 자동으로 증분 방식으로 처리됩니다. | 새로운 데이터를 파악하여 증분 방식으로 처리할 수 있어야 합니다. |
오케스트레이션 | 변환은 올바른 순서로 자동으로 오케스트레이션됩니다. | 다른 변환이 올바른 순서로 실행되도록 해야 합니다. |
병렬성 | 모든 변환은 올바른 수준의 병렬 처리로 실행됩니다. | 관련 없는 변환을 병렬로 실행하려면 스레드 또는 외부 오케스트레이터를 사용해야 합니다. |
오류 처리 | 실패는 자동으로 다시 시도됩니다. | 오류를 처리하고 다시 시도하는 방법을 결정해야 합니다. |
모니터링 | 메트릭 및 이벤트는 자동으로 기록됩니다. | 실행 또는 데이터 품질에 대한 메트릭을 수집하는 코드를 작성해야 합니다. |
Delta Live의 주요 개념 Tables
다음 그림에서는 Delta Live Tables 파이프라인의 중요한 구성 요소와 각 파이프라인에 대한 설명을 보여 줍니다.
스트리밍 table
스트리밍 table는 하나 이상의 스트림이 쓰는 Delta table입니다. 스트리밍 tables는 입력 데이터를 한 번만 처리하고, 추가 전용 데이터의 큰 volumes을 처리할 수 있기 때문에 일반적으로 수집에 사용됩니다. 스트리밍 tables는 대용량 데이터 스트림을 저지연으로 변환하는 데에도 유용합니다.
구체화된 뷰
구체화된 뷰는 구체화된 뷰를 정의하는 쿼리를 기반으로 미리 계산된 레코드를 포함하는 뷰입니다. 구체화된 뷰의 레코드는 Delta Live Tables에 의해 파이프라인의 update 일정 또는 트리거에 따라 자동으로 최신 상태로 유지됩니다. 구체화된 뷰가 업데이트될 때마다 사용 가능한 최신 데이터에 대해 정의 쿼리를 실행하는 것과 동일한 결과가 보장됩니다. 그러나 증분 refresh사용하여 전체 결과를 처음부터 다시 계산하지 않고 수행하는 경우가 많습니다. 구체화된 views 일반적으로 변환에 사용됩니다.
Views
Azure Databricks의 모든 views는 원본 데이터 세트가 쿼리될 때 계산된 결과로, 사용 가능한 경우 캐싱 최적화를 활용합니다. Delta Live Tables가 views을 catalog에 게시하지 않으므로, views은 정의된 파이프라인 내에서만 참조할 수 있습니다. Views 최종 사용자 또는 시스템에 노출되어서는 안 되는 중간 쿼리로 유용합니다. Databricks는 views 사용하여 데이터 품질 제약 조건을 적용하거나 여러 다운스트림 쿼리를 구동하는 데이터 세트를 변환하고 보강하는 것이 좋습니다.
파이프라인
파이프라인은 스트리밍 tables와 구체화된 views를 포함하는 컬렉션으로, 이들은 함께 업데이트됩니다. 이러한 스트리밍 tables 및 구현된 views은 Python 또는 SQL 소스 파일에서 선언됩니다. 파이프라인에는 스트리밍 updatetables 데 사용되는 컴퓨팅을 정의하고 파이프라인이 실행될 때 구체화된 views 정의하는 구성도 포함되어 있습니다. Terraform 템플릿이 클라우드 계정의 인프라를 정의하는 방식과 마찬가지로 Delta Live Tables 파이프라인은 데이터 처리에 대한 데이터 세트 및 변환을 정의합니다.
Delta Live Tables 데이터 세트는 어떻게 데이터를 처리합니까?
다음 table은 구체화된 views, 스트리밍 tables, 및 views이 데이터를 처리하는 방법을 설명합니다.
데이터 세트 형식 | 정의된 쿼리를 통해 레코드를 처리하는 방법 |
---|---|
스트리밍 table | 각 레코드는 정확히 한 번 처리됩니다. 이 경우 추가 전용 원본이 있다고 가정합니다. |
구체화된 뷰 | 레코드는 현재 데이터 상태에 대한 정확한 결과를 반환하는 데 필요한 대로 처리됩니다. 구체화된 views는 변환, 집계, 느린 쿼리의 사전 계산, 자주 사용되는 계산 등과 같은 데이터 처리 작업에 사용해야 합니다. |
View | 레코드는 뷰를 쿼리할 때마다 처리됩니다. 중간 변환 및 공용 데이터 세트에 게시해서는 안 되는 데이터 품질 검사에 views 사용합니다. |
당신의 Delta Live Tables 첫 번째 데이터 세트를 선언하십시오.
Delta Live Tables Python 및 SQL에 대한 새로운 구문을 소개합니다. 파이프라인 구문의 기본 사항을 알아보려면 Python을 사용하여 파이프라인 코드 개발 및 SQL을 사용하여 파이프라인 코드 개발을 참조하세요.
참고 항목
Delta Live Tables 데이터 세트 정의를 update 처리와 구분하며 Delta Live Tables Notebook은 대화형 실행을 위한 것이 아닙니다.
Delta Live Tables 파이프라인을 구성하려면 어떻게 해야 할까요?
Delta Live Tables 파이프라인에 대한 설정은 다음 두 가지 광범위한 범주로 분류됩니다.
- Delta Live 구문을 사용하여 데이터 세트를 선언하는 Notebook 또는 파일(Tables)의 컬렉션을 정의하는 구성입니다.
- 파이프라인 인프라, 종속성 관리, 업데이트 처리 방식 및 작업 영역에 tables이(가) 저장되는 방식을 제어하는 구성입니다.
대부분의 구성은 선택 사항이지만 일부는 특히 프로덕션 파이프라인을 구성할 때 주의해야 합니다. 여기에는 다음이 포함됩니다.
- 파이프라인 외부에서 데이터를 사용할 수 있도록 하려면, Hive 메타스토어에 게시할 대상 schema을(를) 선언하거나 Unity catalog에 게시할 schema 및 Catalog을(를) 선언해야 합니다.
- 데이터 액세스 권한은 실행에 사용되는 클러스터를 통해 구성됩니다. 지정된 경우 클러스터에 데이터 원본 및 대상 스토리지 위치대해 구성된 적절한 권한이 있는지 확인합니다.
Python 및 SQL을 사용하여 파이프라인에 대한 소스 코드를 작성하는 방법에 대한 자세한 내용은 Delta Live Tables SQL 언어 참조 및 Delta Live Tables Python 언어 참조참조하세요.
파이프라인 설정 및 구성에 대한 자세한 내용은 Delta Live Tables 파이프라인구성을 참조하세요.
첫 번째 파이프라인 배포 및 업데이트 트리거
Delta Live Tables사용하여 데이터를 처리하기 전에 파이프라인을 구성해야 합니다. 파이프라인이 구성되면 update 트리거하여 파이프라인의 각 데이터 세트에 대한 결과를 계산할 수 있습니다. Delta Live get 파이프라인 사용을 Tables 시작하려면 자습서: 첫 번째 Delta Live Tables 파이프라인실행하세요.
파이프라인 update무엇인가요?
파이프라인은 update을 시작할 때 인프라를 구축하고 데이터 상태를 다시 계산합니다. update 다음을 수행합니다.
- 올바른 구성으로 클러스터를 시작합니다.
- 정의된 모든 tables 및 views 검색하고 잘못된 column 이름, 누락된 종속성 및 구문 오류와 같은 분석 오류를 확인합니다.
- 사용 가능한 최신 데이터로 tables 및 views 만들거나 업데이트합니다.
파이프라인은 사용 사례의 비용 및 대기 시간 요구 사항에 따라 지속적으로 또는 일정에 따라 실행할 수 있습니다. Tables에서 을(를) 실행하는 것을 참조하십시오.
Delta Live 을 사용하여 데이터 수집 Tables
Delta Live Tables Azure Databricks에서 사용할 수 있는 모든 데이터 원본을 지원합니다.
Databricks는 대부분의 수집 사용 사례에 스트리밍 tables을 사용하는 것이 좋습니다. 클라우드 개체 스토리지에 도착하는 파일의 경우 Databricks는 자동 로더를 권장합니다. 대부분의 메시지 버스에서 Delta Live Tables 사용하여 데이터를 직접 수집할 수 있습니다.
클라우드 스토리지에 대한 액세스 구성에 대한 자세한 내용은 클라우드 스토리지 구성을 참조하세요.
자동 로더에서 지원되지 않는 형식의 경우 Python 또는 SQL을 사용하여 Apache Spark에서 지원하는 모든 형식을 쿼리할 수 있습니다. Delta Live 데이터를 Tables로드하는 것을 참조하세요.
데이터 품질 모니터링 및 적용
기대치를 사용하여 데이터 세트의 내용에 대한 데이터 품질 제어를 지정할 수 있습니다. 기존 데이터베이스의 CHECK
constraint과는 달리, constraint를 실패한 레코드를 추가하지 못하게 하는 것에서 기대치는 데이터 품질 요구 사항을 충족하지 못한 데이터를 처리할 때 유연성을 제공합니다. 이러한 유연성 덕분에 지저분할 것으로 예상되는 데이터와 엄격한 품질 요구 사항을 충족해야 하는 데이터를 처리하고 저장할 수 있습니다.
파이프라인 기대를 통한 데이터 품질 관리보기.
Delta Live Tables 및 Delta Lake는 어떻게 관련되어 있나요?
Delta Live Tables Delta Lake의 기능을 확장합니다. Delta Live가 생성하고 관리하는 tables Delta Tablestables는 Delta Lake에서 제공하는 것과 동일한 보장 및 기능을 갖추고 있습니다. Delta Lake란?을 참조하세요.
Delta Live Tables은 Delta Lake에서 table 수 있는 여러 table 속성 외에 여러 set 속성을 추가합니다. delta Live
Delta Live에서 tables을 생성하고 관리하는 방법 Tables
Azure Databricks는 Delta Live tables을 사용하여 생성된 Tables를 자동으로 관리하며, table의 현재 상태를 올바르게 계산하기 위해 업데이트를 처리하는 방법을 결정하고, 다양한 유지 관리 및 최적화 작업을 수행합니다.
대부분의 작업의 경우, Delta Live Tables가 대상 table에 대한 모든 업데이트, 삽입 및 삭제를 처리하도록 허용해야 합니다. 자세한 내용 및 제한 사항은 수동 삭제 또는 업데이트 유지를 참조 하세요.
Delta Live Tables에 의해 수행되는 유지 관리 작업
업데이트된 Tables 이후 24시간 이내에 Delta Live table가 유지 관리 작업을 수행합니다. 유지 관리는 이전 버전의 tables제거하여 쿼리 성능을 향상시키고 비용을 절감할 수 있습니다. 기본적으로 시스템은 전체 OPTIMIZE 작업을 수행한 후에 VACUUM을(를) 수행합니다.
OPTIMIZE의 pipelines.autoOptimize.managed = false
에서 table를 설정하여 의 table를 비활성화할 수 있습니다. 유지 관리 작업은 유지 관리 작업이 예약되기 24시간 전에 파이프라인 update 실행된 경우에만 수행됩니다.
제한 사항
제한 사항의 listDelta Live Tables 제한 사항참조하세요.
Delta Live
추가 리소스
- Delta Live Tables Databricks REST API에서 전폭적인 지원을 제공합니다. DLT API를 참조하세요.
- 파이프라인 및 table 설정에 대해서는 Delta Live Tables 속성 참조를 참조하세요.
- Delta Live Tables SQL 언어 참조.
- Delta Live Tables Python 언어 참조.