Referência da tabela do sistema de otimização preditiva
Visualização
Essa tabela do sistema está em Pré-visualização Pública.
Para ter acesso a esta tabela, sua região deve suportar otimização preditiva. Veja clouds e regiõesDatabricks.
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
- A tabela do sistema de otimização preditiva é atualizada em até duas horas. No entanto, as informações de faturamento podem levar até 24 horas para serem atualizadas.
- 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_unitestá 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 realizadas. Deve ser um dos seguintes valores: |
|
| string | O ID para as operações de otimização. |
|
| string | O estado das operações de otimização. Deve ser um dos seguintes valores: |
|
| map[strings, strings] | Detalhes adicionais sobre a otimização específica que foi executada. Ver operações métricas. |
|
| string | A unidade de medida utilizada nesta operação. Deve ser o seguinte 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:
nome de operações | descrição das operações | operationMetrics | Descrição |
|---|---|---|---|
| Melhora o desempenho das consultas otimizando o tamanho dos arquivos. Consulte Otimizar a disposição do arquivo de dados. |
| Número de arquivos removidos por esta operação. |
| Quantidade de bytes removidos por esta operação. | ||
| Número de novos arquivos adicionados por esta operação. | ||
| Quantidade de bytes adicionados por esta operação. | ||
| Reduz os custos de armazenamento ao excluir arquivos de dados que não são mais referenciados pela tabela. Consulte Remover arquivos de dados não utilizados com o comando vacuum. |
| Número de arquivos coletados como lixo por esta operação. |
| Quantidade de bytes coletados como lixo por esta operação. | ||
| Aciona atualizações incrementais de estatísticas para melhorar o desempenho das consultas. Consulte ANALYZE TABLE. |
| Quantidade de bytes lidos por esta operação. |
| Número de arquivos verificados por esta operação. | ||
| Redução na porcentagem de produtos rançosos após esta operação. Esta estatística pode variar entre 0 e 100 com base na frequência com que | ||
| Aciona clustering incremental para tabelas habilitadas. Consulte Usar clustering líquido para tabelas. |
| Número de arquivos removidos por esta operação. |
| Número de novos arquivos adicionados por esta operação. | ||
| Quantidade de bytes removidos por esta operação. | ||
| Quantidade de bytes adicionados por esta operação. | ||
| Avalia se as colunas clustering devem ser evoluídas. Veja clusteringautomático de líquidos. |
| Disponibilidade de dados anteriores, que podem ser a chave clustering antiga ou "Nenhum" se não particionada. |
| Novas colunas clustering aplicadas por esta operação. | ||
| Se esta operação evoluiu as colunas clustering . | ||
| Motivos para a alteração ou não alteração nas colunas clustering . | ||
| Detecta colunas com dados ausentes, ignorando as estatísticas da carga de trabalho, e as preenche retroativamente. Consulte Ignorando dados. |
| Quantidade de bytes lidos por esta operação. |
| Número de arquivos verificados por esta operação. | ||
| Colunas de dados puladas recém-adicionadas aplicadas por esta operação. | ||
| Colunas de dados ignoradas removidas por esta operação. | ||
| Lista exaustiva anterior de colunas de dados ignoradas. | ||
| Lista completa e atualizada de colunas que ignoram dados. | ||
| Detecta se Mode de Compatibilidade está desatualizado e atualiza a tabela. Consulte Modede Compatibilidade. | N/A | Operações refresh Mode compatibilidade. |
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 na execução de operações por otimização preditiva?
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;
Para encontrar o mesmo valor para um pipeline ETL específico, o senhor pode primeiro encontrar as tabelas nesse pipeline e, em seguida, procurar as DBUs:
-- Find all full table names for the pipeline:
WITH pipeline_mapping AS (
SELECT DISTINCT target_table_full_name AS target_table_name
FROM system.access.table_lineage
WHERE entity_type = 'PIPELINE' AND entity_id = :pipeline_id
)
-- Select all operations for any table in that pipeline:
SELECT SUM(usage_quantity)
FROM system.storage.predictive_optimization_operations_history
WHERE
CONCAT_WS('.', catalog_name, schema_name, table_name)
IN ( SELECT target_table_name FROM pipeline_mapping)
AND 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 na execução de operações por otimização preditiva?
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;