Unity 카탈로그 관리 테이블에 대한 예측 최적화
참고 항목
Databricks는 2024년 11월 11일 이후에 만든 모든 계정에 대해 기본적으로 예측 최적화를 사용하도록 설정합니다.
예측 최적화는 Azure Databricks에서 Unity 카탈로그 관리 테이블에 대한 유지 관리 작업을 수동으로 관리할 필요가 없습니다.
예측 최적화를 사용하도록 설정하면 Azure Databricks에서 자동으로 다음을 수행합니다.
- 유지 관리 작업의 이점을 얻을 수 있는 테이블을 식별하고 이러한 작업을 실행하기 위해 큐에 대기합니다.
- 관리되는 테이블에 데이터를 쓸 때 통계를 수집합니다.
유지 관리 작업은 필요에 따라 실행되어 유지 관리 작업에 대한 불필요한 실행과 성능 추적 및 문제 해결과 관련된 부담을 모두 제거합니다.
Important
예측 최적화는 Unity 카탈로그 관리 테이블에서만 실행됩니다.
예측 최적화는 Databricks SQL에서 만든 스트리밍 테이블 또는 구체화된 뷰 또는 델타 라이브 테이블 파이프라인을 사용하여 실행되지 않습니다.
예측 최적화는 어떤 작업을 실행하나요?
예측 최적화는 사용하도록 설정된 테이블에 대해 다음 작업을 자동으로 실행합니다.
연산 | 설명 |
---|---|
OPTIMIZE
(1) |
활성화된 테이블에 대한 단계적 클러스터링을 트리거합니다. Delta 테이블에 대해 액체 클러스터링을 사용하는 방법은 을 참조하세요.을 확인하세요. 파일 크기를 최적화하여 쿼리 성능을 향상시킵니다. 을 참조하여 데이터 파일 레이아웃을 최적화하세요. |
VACUUM |
테이블에서 더 이상 참조하지 않는 데이터 파일을 삭제하여 스토리지 비용을 줄입니다. 진공사용하여 사용하지 않는 데이터 파일 제거를 참조하세요. |
ANALYZE |
통계의 증분 업데이트를 트리거하여 쿼리 성능을 향상시킵니다. ANALYZE TABLE참조하십시오. |
(1)OPTIMIZE
예측 최적화를 사용하여 실행할 때 실행 ZORDER
되지 않습니다.
Warning
VACUUM
명령에 대한 보존 기간은 기본적으로 7일인 delta.deletedFileRetentionDuration
테이블 속성에 의해 결정됩니다. 즉, VACUUM
지난 7일 동안 델타 테이블 버전에서 더 이상 참조되지 않는 데이터 파일을 제거합니다. 데이터를 더 오래 보존하려는 경우(예: 더 긴 기간 동안의 시간 이동 지원) 다음 예제와 같이 예측 최적화를 사용하도록 설정하기 전에 이 테이블 속성을 적절하게 설정해야 합니다.
ALTER TABLE table_name SET TBLPROPERTIES ('delta.deletedFileRetentionDuration' = '30 days');
예측 최적화는 어디에서 실행됩니까?
예측 최적화는 ANALYZE
, OPTIMIZE
및 VACUUM
작업의 이점을 얻을 수 있는 테이블을 식별하고, 이러한 작업을 서버리스 컴퓨팅을 사용하여 실행하도록 큐에 넣습니다. 계정은 Databricks Managed Services와 관련된 SKU를 사용하여 이러한 워크로드와 연결된 컴퓨팅에 대해 요금이 청구됩니다. Databricks 관리되는 서비스에 대한 가격 책정을 참조하세요. Azure Databricks는 예측 최적화 작업, 비용 및 영향에 대한 관찰 가능성을 위한 시스템 테이블을 제공합니다.
참조하세요. 시스템 테이블을 사용하여 예측 최적화을 추적하십시오.
예측 최적화를 위한 필수 구성 요소
예측 최적화를 사용하도록 설정하려면 다음 요구 사항을 충족해야 합니다.
Azure Databricks 작업 영역은 예측 최적화를 지원하는 지역의 프리미엄 계획에 있어야 합니다. Azure Databricks 지역을 참조하세요.
예측 최적화를 사용하도록 설정할 때 SQL 웨어하우스 또는 Databricks Runtime 12.2 LTS 이상을 사용해야 합니다.
Unity 카탈로그 관리 테이블만 지원됩니다.
스토리지 계정에 대한 프라이빗 연결이 필요한 경우 서버리스 프라이빗 연결을 구성해야 합니다. 서버리스 컴퓨팅에서 프라이빗 연결 구성을 참조하세요.
예측 최적화 사용
계정, 카탈로그 또는 스키마에 대해 예측 최적화를 사용하도록 설정할 수 있습니다. 모든 Unity 카탈로그 관리 테이블은 기본적으로 계정 값을 상속합니다. 카탈로그 또는 스키마에 대한 계정 기본값을 재정의하여 해당 수준에서 예측 최적화를 사용하거나 사용하지 않도록 설정할 수 있습니다.
참고 항목
2024년 11월 11일 이후에 계정을 만든 경우 기본적으로 계정에 대해 예측 최적화를 사용하도록 설정됩니다.
지정된 수준에서 예측 최적화를 사용하거나 사용하지 않도록 설정하려면 다음 권한이 있어야 합니다.
Unity 카탈로그 개체 | Privilege |
---|---|
어카운트 | 계정 관리자 |
카탈로그 | 카탈로그 소유자 |
스키마 | 스키마 소유자 |
참고 항목
처음으로 예측 최적화를 사용하도록 설정하면 Azure Databricks는 Azure Databricks 계정에 서비스 주체를 자동으로 만듭니다. Azure Databricks는 이 서비스 주체를 사용하여 요청된 유지 관리 작업을 수행합니다. 서비스 주체 관리를 참조하세요.
계정에 대한 예측 최적화 사용 또는 사용 안 함
계정 관리자는 다음 단계를 완료하여 계정의 모든 메타스토어에 대해 예측 최적화를 사용하도록 설정할 수 있습니다. 계정의 개체는 기본적으로 이 설정을 상속하지만 카탈로그 또는 스키마 수준에서 설정을 재정의할 수 있습니다.
- 계정 콘솔에 액세스합니다.
- 설정으로 이동한 다음 기능 사용으로 이동합니다.
- 예측 최적화옆에 있는 사용할 옵션(예: 사용)을 선택합니다.
참고 항목
- 예측 최적화를 지원하지 않는 지역의 메타스토어는 사용하도록 설정되지 않습니다.
- 계정 수준에서 예측 최적화를 사용하지 않도록 설정해도 특별히 사용하도록 설정한 카탈로그 또는 스키마에는 사용하지 않도록 설정되지 않습니다.
카탈로그 또는 스키마에 대한 예측 최적화 사용 또는 사용 안 함
예측 최적화는 상속 모델을 사용합니다. 카탈로그를 사용하도록 설정하면 스키마가 속성을 상속합니다. 사용하도록 설정된 스키마 내의 테이블은 예측 최적화를 상속합니다. 이 상속 동작을 재정의하려면 카탈로그 또는 스키마에 대한 예측 최적화를 명시적으로 사용하거나 사용하지 않도록 설정할 수 있습니다.
참고 항목
계정 수준에서 사용하도록 설정하기 전에 카탈로그 또는 스키마 수준에서 예측 최적화를 사용하지 않도록 설정할 수 있습니다. 나중에 계정에서 예측 최적화를 사용하도록 설정하면 이러한 개체의 테이블에 대해 해당 최적화가 차단됩니다.
다음 구문을 사용하여 예측 최적화를 사용하거나 사용하지 않도록 설정하거나 부모 개체에서 상속하는 기본값으로 돌아갑니다.
ALTER CATALOG [catalog_name] { ENABLE | DISABLE | INHERIT } PREDICTIVE OPTIMIZATION;
ALTER { SCHEMA | DATABASE } schema_name { ENABLE | DISABLE | INHERIT } PREDICTIVE OPTIMIZATION;
예측 최적화를 사용할 수 있는지 확인
Predictive Optimization
필드는 예측 최적화를 사용하는 경우 자세히 설명되는 Unity 카탈로그 속성입니다. 예측 최적화가 부모 개체에서 상속되는 경우 필드 값에 표시됩니다.
다음 구문을 사용하여 예측 최적화가 사용되는지 확인합니다.
DESCRIBE (CATALOG | SCHEMA | TABLE) EXTENDED name
시스템 테이블을 사용하여 예측 최적화 추적
Azure Databricks는 예측 최적화 작업의 기록을 추적하는 시스템 테이블을 제공합니다. 예측 최적화 시스템 테이블 참조을 참조하십시오.
프라이빗 링크 오류 메시지
시스템 테이블이 작업을 FAILED: PRIVATE_LINK_SETUP_ERROR
으로 실패한 것으로 표시하는 경우 서버리스 컴퓨팅에 대한 프라이빗 링크를 올바르게 구성하지 않았을 수 있습니다.
서버리스 컴퓨팅에서 프라이빗 연결 구성을 참조하세요.
제한 사항
예측 최적화는 모든 지역에서 사용할 수 없습니다. Azure Databricks 지역을 참조하세요.
예측 최적화는 Z 순서를 사용하는 테이블에서 OPTIMIZE
명령을 실행하지 않습니다.
예측 최적화는 파일 보존 기간이 기본값인 7일 미만으로 구성된 테이블에서 VACUUM
작업을 실행하지 않습니다.
시간 이동 쿼리에 대한 데이터 보존 구성을 참조하세요.
예측 최적화는 다음 표에서 유지 관리 작업을 수행하지 않습니다.
- 델타 공유 수신자로 작업 공간에 로드된 테이블입니다.
- 외부 테이블.
- 구체화된 보기. Databricks SQL에서 구체화된 뷰 사용을 참조하세요.
- 스트리밍 테이블. Databricks SQL에서 스트리밍 테이블을 사용하여 데이터를 로드하는 방법은 을(를) 참조하세요.