Referência da tabela do sistema de otimização preditiva
Visualização
Essa tabela do sistema está em Pré-visualização Pública. Para acessar a tabela, o esquema deve estar habilitado em seu catálogo system
. Para obter mais informações, consulte Habilitar esquemas de tabelas do sistema.
Para ter acesso a essa tabela, o senhor deve ativar o esquema storage
(consulte Ativar esquemas de tabela do sistema) e sua região deve oferecer suporte à otimização preditiva (consulte Nuvens e regiões do Databricks).
Este artigo descreve o esquema da tabela de histórico de operações de otimização preditiva e fornece exemplos de consultas. A otimização preditiva otimiza a disposição de seus dados para obter desempenho máximo e eficiência de custos. A tabela do sistema rastreia o histórico de operações desse recurso. Para obter informações sobre otimização preditiva, consulte Predictive optimization for Unity Catalog gerenciar tables.
Caminho da tabela : Essa tabela do sistema está localizada em system.storage.predictive_optimization_operations_history
.
Considerações de entrega
- Os dados podem levar até 24 horas para serem preenchidos.
- A otimização preditiva pode executar várias operações no mesmo clustering. Em caso afirmativo, a parcela de DBUs atribuída a cada uma das múltiplas operações é aproximada. É por isso que o
usage_unit
está definido comoESTIMATED_DBU
. Ainda assim, o número total de DBUs gastos no agrupamento será preciso.
Esquema de tabela de otimização preditiva
A tabela do sistema de histórico de operações de otimização preditiva usa o seguinte esquema:
Nome da coluna | Tipo de dados | Descrição | Exemplo |
---|---|---|---|
| string | ID do site account. |
|
| string | O ID do site workspace no qual a otimização preditiva executa as operações. |
|
| carimbo de data/hora | O horário em que as operações começam. As informações de fuso horário são registradas no final do valor com |
|
| carimbo de data/hora | O horário em que as operações terminaram. As informações de fuso horário são registradas no final do valor com |
|
| string | O nome do metastore ao qual a tabela otimizada pertence. |
|
| string | O ID do metastore ao qual a tabela otimizada pertence. |
|
| string | O nome do catálogo ao qual a tabela otimizada pertence. |
|
| string | O nome do esquema ao qual a tabela otimizada pertence. |
|
| string | O ID da tabela otimizada. |
|
| string | O nome da tabela otimizada. |
|
| string | As operações de otimização que foram realizadas. O valor será |
|
| string | O ID para as operações de otimização. |
|
| string | O status das operações de otimização. O valor será |
|
| map[strings, strings] | Detalhes adicionais sobre a otimização específica que foi executada. Ver operações métricas. |
|
| string | A unidade de uso em que essa operação incorreu. Só pode ser um valor: |
|
| Decimal | A quantidade da unidade de uso que foi usada por essa operação. |
|
operações métricas
As métricas registradas na coluna operation_metrics
variam de acordo com o tipo de operação:
COMPACTION
:number_of_compacted_files
,amount_of_data_compacted_bytes
,number_of_output_files
,amount_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_bytes
,amount_of_clustered_data_bytes
AUTO_CLUSTERING_COLUMN_SELECTION
:old_clustering_columns
,new_clustering_columns
,has_column_selection_changed
,additional_reason
(inclui o motivo pelo qual a seleção da coluna mudou ou não)
Exemplos de consultas
As seções a seguir incluem exemplos de consultas que o senhor pode usar para obter percepções sobre a tabela do sistema de otimização preditiva. Para que essas consultas funcionem, você precisa substituir os valores dos parâmetros pelos seus próprios valores.
Este artigo inclui os seguintes exemplos de consultas:
- Quantos DBus estimados foram usados na otimização preditiva nos últimos 30 dias?
- Em quais tabelas a otimização preditiva gastou mais nos últimos 30 dias (custo estimado)?
- Em quais tabelas a otimização preditiva está realizando a maioria das operações?
- Para um determinado catálogo, quantos bytes totais foram compactados?
- Quais tabelas tiveram o maior número de bytes vacuum?
- Qual é a taxa de sucesso das operações executadas por otimizações preditivas?
Quantos DBus estimados foram usados na otimização preditiva nos últimos 30 dias?
SELECT SUM(usage_quantity)
FROM system.storage.predictive_optimization_operations_history
WHERE
usage_unit = "ESTIMATED_DBU"
AND timestampdiff(day, start_time, Now()) < 30
Em quais tabelas a otimização preditiva gastou mais nos últimos 30 dias (custo estimado)?
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
Em quais tabelas a otimização preditiva está realizando a maioria das operações?
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
Para um determinado catálogo, quantos bytes totais foram compactados?
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
Quais tabelas tiveram o maior número de bytes vacuum?
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
Qual é a taxa de sucesso das operações executadas por otimizações preditivas?
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