Unity 카탈로그 관리 테이블에 대한 예측 최적화
참고 항목
Databricks는 2024년 11월 11일 이후에 만든 모든 계정에 대해 기본적으로 예측 최적화를 사용하도록 설정합니다.
예측 최적화는 Azure Databricks에서 Unity 카탈로그 관리 테이블에 대한 유지 관리 작업을 수동으로 관리할 필요가 없습니다.
예측 최적화를 사용하도록 설정하면 Azure Databricks는 유지 관리 작업의 이점을 얻을 수 있는 테이블을 자동으로 식별하고 사용자에 대해 실행합니다. 유지 관리 작업은 필요에 따라 실행되어 유지 관리 작업에 대한 불필요한 실행과 추적 및 문제 해결 성능과 관련된 부담을 모두 제거합니다.
Important
예측 최적화는 Unity 카탈로그 관리 테이블에서만 실행됩니다.
예측 최적화는 Databricks SQL에서 만든 스트리밍 테이블 또는 구체화된 뷰 또는 델타 라이브 테이블 파이프라인을 사용하여 실행되지 않습니다.
예측 최적화는 어떤 작업을 실행하나요?
예측 최적화는 사용하도록 설정된 테이블에 대해 다음 작업을 자동으로 실행합니다.
연산 | 설명 |
---|---|
OPTIMIZE (1) |
사용하도록 설정된 테이블에 대한 증분 클러스터링을 트리거합니다. Delta 테이블에 Liquid 클러스터링 사용을 참조하세요. 파일 크기를 최적화하여 쿼리 성능을 향상시킵니다. 데이터 파일 레이아웃 최적화를 참조하세요. |
VACUUM |
테이블에서 더 이상 참조하지 않는 데이터 파일을 삭제하여 스토리지 비용을 줄입니다. 진공 상태에서 사용되지 않는 데이터 파일 제거를 참조하세요. |
ANALYZE (2) |
통계의 증분 업데이트를 트리거하여 쿼리 성능을 향상시킵니다. |
(1) OPTIMIZE
예측 최적화를 사용하여 실행할 때 실행 ZORDER
되지 않습니다.
(2) 공개 미리 보기로 예측 최적화 ANALYZE
여기에는 쓰기 중에 지능형 Stastistics 컬렉션이 포함됩니다. 공개 미리 보기에 등록하려면 이 양식을 사용합니다. 초기 공개 미리 보기 ANALYZE
중에는 500개 이하의 열이 있는 테이블에서 명령을 실행할 수 있습니다.
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 카탈로그 관리 테이블만 지원됩니다.
스토리지 계정에 대한 프라이빗 연결이 필요한 경우 서버리스 프라이빗 연결을 구성해야 합니다. 서버리스 컴퓨팅에서 프라이빗 연결 구성을 참조하세요.
예측 최적화 사용
계정 수준에서 예측 최적화를 사용하도록 설정해야 합니다.
참고 항목
계정이 2024년 11월 11일 이후에 만들어진 경우 예측 최적화는 기본적으로 사용하도록 설정됩니다.
지정된 수준에서 예측 최적화를 사용하거나 사용하지 않도록 설정하려면 다음 권한이 있어야 합니다.
Unity 카탈로그 개체 | Privilege |
---|---|
어카운트 | 계정 관리자 |
카탈로그 | 카탈로그 소유자 |
스키마 | 스키마 소유자 |
참고 항목
처음으로 예측 최적화를 사용하도록 설정하면 Azure Databricks는 Azure Databricks 계정에 서비스 주체를 자동으로 만듭니다. Azure Databricks는 이 서비스 주체를 사용하여 요청된 유지 관리 작업을 수행합니다. 서비스 주체 관리를 참조하세요.
계정에 대한 예측 최적화 사용
계정 관리자는 계정의 모든 메타스토어에 대해 예측 최적화를 사용하도록 설정하려면 다음 단계를 완료해야 합니다.
- 계정 콘솔에 액세스합니다.
- 설정으로 이동한 다음 기능 사용으로 이동합니다.
- 예측 최적화 옆에 있는 [사용]을 선택합니다.
참고 항목
예측 최적화를 지원하지 않는 지역의 메타스토어는 사용하도록 설정되지 않습니다.
카탈로그 또는 스키마에 대한 예측 최적화 사용 또는 사용 안 함
예측 최적화는 상속 모델을 사용합니다. 카탈로그를 사용하도록 설정하면 스키마가 속성을 상속합니다. 사용하도록 설정된 스키마 내의 테이블은 예측 최적화를 상속합니다. 이 상속 동작을 재정의하려면 카탈로그 또는 스키마에 대한 예측 최적화를 명시적으로 사용하지 않도록 설정할 수 있습니다.
참고 항목
계정 수준에서 사용하도록 설정하기 전에 카탈로그 또는 스키마 수준에서 예측 최적화를 사용하지 않도록 설정할 수 있습니다. 나중에 계정에서 예측 최적화를 사용하도록 설정하면 이러한 개체의 테이블에 대해 해당 최적화가 차단됩니다.
다음 구문을 사용하여 예측 최적화를 사용하거나 사용하지 않도록 설정합니다.
ALTER CATALOG [catalog_name] {ENABLE | DISABLE} PREDICTIVE OPTIMIZATION;
ALTER {SCHEMA | DATABASE} schema_name {ENABLE | DISABLE} PREDICTIVE OPTIMIZATION;
예측 최적화를 사용할 수 있는지 확인
이 Predictive Optimization
필드는 예측 최적화를 사용하는 경우 자세히 설명되는 Unity 카탈로그 속성입니다. 예측 최적화가 부모 개체에서 상속되는 경우 필드 값에 표시됩니다.
Important
이 필드를 보려면 계정 수준에서 예측 최적화를 사용하도록 설정해야 합니다.
다음 구문을 사용하여 예측 최적화가 사용되는지 확인합니다.
DESCRIBE (CATALOG | SCHEMA | TABLE) EXTENDED name
시스템 테이블을 사용하여 예측 최적화 추적
Azure Databricks는 예측 최적화 작업의 기록을 추적하는 시스템 테이블을 제공합니다. 예측 최적화 시스템 테이블 참조를 참조하세요.
프라이빗 링크 오류 메시지
시스템 테이블이 작업을 실패 FAILED: PRIVATE_LINK_SETUP_ERROR
로 표시하는 경우 서버리스 컴퓨팅에 대한 프라이빗 링크를 올바르게 구성하지 않았을 수 있습니다. 서버리스 컴퓨팅에서 프라이빗 연결 구성을 참조하세요.
제한 사항
예측 최적화는 모든 지역에서 사용할 수 없습니다. Azure Databricks 지역을 참조하세요.
예측 최적화는 Z 순서를 사용하는 테이블에서 명령을 실행 OPTIMIZE
하지 않습니다.
예측 최적화는 기본값인 7일 미만으로 구성된 파일 보존 기간이 있는 테이블에서 작업을 실행 VACUUM
하지 않습니다. 시간 이동 쿼리에 대한 데이터 보존 구성을 참조하세요.
예측 최적화는 다음 표에서 유지 관리 작업을 수행하지 않습니다.
- 작업 영역에 델타 공유 받는 사람으로 로드된 테이블입니다.
- 외부 테이블.
- 구체화된 뷰. Databricks SQL에서 구체화된 뷰 사용을 참조하세요.
- 스트리밍 테이블. Databricks SQL에서 스트리밍 테이블을 사용하여 데이터 로드를 참조하세요.