다음을 통해 공유


예측 최적화 시스템 테이블 참조

Important

이 시스템 테이블은 공개 미리 보기로 제공됩니다. 테이블에 액세스하려면 system 카탈로그에서 스키마를 사용하도록 설정해야 합니다. 자세한 내용은 시스템 테이블 스키마 사용을 참조하세요.

참고 항목

이 테이블에 액세스하려면 스키마를 사용하도록 설정 storage 해야 합니다(시스템 테이블 스키마 사용 참조). 해당 지역은 예측 최적화를 지원해야 합니다(Azure Databricks 지역 참조).

이 문서에서는 예측 최적화 작업 기록 테이블 스키마를 간략하게 설명하고 샘플 쿼리를 제공합니다. 예측 최적화는 최고 성능 및 비용 효율성을 위해 데이터 레이아웃을 최적화합니다. 시스템 테이블은 이 기능의 작업 기록을 추적합니다. 예측 최적화에 대한 자세한 내용은 Unity 카탈로그 관리 테이블에 대한 예측 최적화를 참조 하세요.

테이블 경로: 이 시스템 테이블은 .에 있습니다 system.storage.predictive_optimization_operations_history.

배달 고려 사항

  • 데이터를 채우는 데 최대 24시간이 걸릴 수 있습니다.
  • 예측 최적화는 동일한 클러스터에서 여러 작업을 실행할 수 있습니다. 이 경우 각 다중 작업에 기인하는 DPU의 공유는 근사값입니다. 이 때문에 . usage_unit 로 설정됩니다 ESTIMATED_DBU. 그럼에도 불구하고 클러스터에 소요된 총 DPU 수는 정확합니다.

예측 최적화 테이블 스키마

예측 최적화 작업 기록 시스템 테이블은 다음 스키마를 사용합니다.

열 이름 데이터 형식 설명 예시
account_id string 계정의 ID. 11e22ba4-87b9-4cc2-9770-d10b894b7118
workspace_id string 예측 최적화가 작업을 실행한 작업 영역의 ID입니다. 1234567890123456
start_time timestamp 작업이 시작된 시간입니다. 표준 시간대 정보는 UTC를 나타내는 +00:00와 함께 값의 끝에 기록됩니다. 2023-01-09 10:00:00.000+00:00
end_time timestamp 작업이 종료된 시간입니다. 표준 시간대 정보는 UTC를 나타내는 +00:00와 함께 값의 끝에 기록됩니다. 2023-01-09 11:00:00.000+00:00
metastore_name string 최적화된 테이블이 속한 메타스토어의 이름입니다. metastore
catalog_name string 최적화된 테이블이 속한 카탈로그의 이름입니다. catalog
schema_name string 최적화된 테이블이 속한 스키마의 이름입니다. schema
table_id string 최적화된 테이블의 ID입니다. 138ebb4b-3757-41bb-9e18-52b38d3d2836
table_name string 최적화된 테이블의 이름입니다. table1
operation_type string 수행된 최적화 작업입니다. 값은 COMPACTION, VACUUM, ANALYZE또는 CLUSTERING. COMPACTION
operation_id string 최적화 작업의 ID입니다. 4dad1136-6a8f-418f-8234-6855cfaff18f
operation_status string 최적화 작업의 상태입니다. 값은 or SUCCESSFULFAILED: INTERNAL_ERROR. SUCCESSFUL
operation_metrics map[string, string] 수행된 특정 최적화에 대한 추가 세부 정보입니다. 작업 메트릭을 참조 하세요. {"number_of_output_files":"100","number_of_compacted_files":"1000","amount_of_output_data_bytes":"4000","amount_of_data_compacted_bytes":"10000"}
usage_unit string 이 작업이 발생한 사용 단위입니다. 하나의 값 ESTIMATED_DBU만 사용할 수 있습니다. ESTIMATED_DBU
usage_quantity decimal 이 작업에서 사용한 사용 단위의 양입니다. 2.12

작업 메트릭

열에 operation_metrics 기록된 메트릭은 작업 유형에 따라 달라집니다.

  • COMPACTION: number_of_compacted_files, amount_of_data_compacted_bytes, number_of_output_filesamount_of_output_data_bytes
  • VACUUM: number_of_deleted_files, amount_of_data_deleted_bytes
  • ANALYZE: amount_of_scanned_bytes, number_of_scanned_files, staleness_percentage_reduced
  • CLUSTERING: number_of_removed_files, number_of_clustered_files, amount_of_data_removed_bytesamount_of_clustered_data_bytes

예제 쿼리

다음 섹션에는 예측 최적화 시스템 테이블에 대한 인사이트를 얻는 데 사용할 수 있는 샘플 쿼리가 포함되어 있습니다. 이러한 쿼리가 작동하려면 중괄호 안의 값을 사용자 고유의 {{}} 매개 변수로 바꿔야 합니다.

이 문서에는 다음 예제 쿼리가 포함되어 있습니다.

지난 30일 동안 사용된 예측 최적화가 있는 예상 DTU는 몇 개입니까?

SELECT SUM(usage_quantity)
FROM system.storage.predictive_optimization_operations_history
WHERE
     usage_unit = "ESTIMATED_DBU"
     AND  timestampdiff(day, start_time, Now()) < 30

예측 최적화가 지난 30일 동안 가장 많이 지출한 테이블(예상 비용)은 어느 것인가요?

SELECT
     metastore_name,
     catalog_name,
     schema_name,
     table_name,
     SUM(usage_quantity) as totalDbus
FROM system.storage.predictive_optimization_operations_history
WHERE
    usage_unit = "ESTIMATED_DBU"
    AND timestampdiff(day, start_time, Now()) < 30
GROUP BY ALL
ORDER BY totalDbus DESC

가장 많은 작업을 수행하는 예측 최적화 테이블은 무엇인가요?

SELECT
     metastore_name,
     catalog_name,
     schema_name,
     table_name,
     operation_type,
     COUNT(DISTINCT operation_id) as operations
FROM system.storage.predictive_optimization_operations_history
GROUP BY ALL
ORDER BY operations DESC

지정된 카탈로그의 경우 압축된 총 바이트 수

SELECT
     schema_name,
     table_name,
     SUM(operation_metrics["amount_of_data_compacted_bytes"]) as bytesCompacted
FROM system.storage.predictive_optimization_operations_history
WHERE
    metastore_name = {{metastore_name}}
    AND catalog_name = {{catalog_name}}
    AND operation_type = "COMPACTION"
GROUP BY ALL
ORDER BY bytesCompacted DESC

가장 많은 바이트가 진공된 테이블은 무엇인가요?

SELECT
     metastore_name,
     catalog_name,
     schema_name,
     table_name,
     SUM(operation_metrics["amount_of_data_deleted_bytes"]) as bytesVacuumed
FROM system.storage.predictive_optimization_operations_history
WHERE operation_type = "VACUUM"
GROUP BY ALL
ORDER BY bytesVacuumed DESC

예측 최적화를 통해 실행되는 작업의 성공률은 무엇인가요?

WITH operation_counts AS (
     SELECT
           COUNT(DISTINCT (CASE WHEN operation_status = "SUCCESSFUL" THEN operation_id END)) as successes,
           COUNT(DISTINCT operation_id) as total_operations
    FROM system.storage.predictive_optimization_operations_history
 )
SELECT successes / total_operations as success_rate
FROM operation_counts