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