Referencia de la tabla del sistema de optimización predictiva
Importante
Esta tabla del sistema está en versión preliminar pública. Para acceder a la tabla, el esquema debe estar habilitado en el catálogo system
. Para obtener más información, consulte Habilitación de esquemas de tabla del sistema.
Nota:
Para tener acceso a esta tabla, debe habilitar el esquema de storage
(vea Habilitar esquemas de tablas del sistema) y su región debe ser compatible con la optimización predictiva (vea Regiones de Azure Databricks).
En este artículo, se describe el esquema de la tabla del historial de operaciones de optimización predictiva y se proporcionan consultas de ejemplo. La optimización predictiva optimiza el diseño de los datos para lograr un rendimiento máximo y una eficiencia de costos. La tabla del sistema realiza un seguimiento del historial de operaciones de esta característica. Para obtener información sobre la optimización predictiva, consulte Optimización predictiva para tablas administradas de Unity Catalog.
Ruta de acceso de tabla: esta tabla del sistema se encuentra en system.storage.predictive_optimization_operations_history
.
Consideraciones de entrega
- Los datos pueden tardar hasta 24 horas en rellenarse.
- La optimización predictiva puede ejecutar varias operaciones en el mismo clúster. Si es así, se estima el recurso compartido de DBU que se atribuye a cada una de las varias operaciones. Este es el motivo por el que
usage_unit
se establece enESTIMATED_DBU
. Sin embargo, el número total de DBU usados en el clúster será preciso.
Esquema de tabla de optimización predictiva
La tabla del sistema del historial de operaciones de optimización predictiva usa el esquema siguiente:
Nombre de la columna | Tipo de datos | Descripción | Ejemplo |
---|---|---|---|
account_id |
cadena | Id. de la cuenta. | 11e22ba4-87b9-4cc2-9770-d10b894b7118 |
workspace_id |
cadena | El id. del área de trabajo en la que la optimización predictiva ejecutó la operación. | 1234567890123456 |
start_time |
timestamp | La hora a la que empezó la operación. La información de zona horaria se registra al final del valor con +00:00 , que representa la hora UTC. |
2023-01-09 10:00:00.000+00:00 |
end_time |
timestamp | La hora a la que finalizó la operación. La información de zona horaria se registra al final del valor con +00:00 , que representa la hora UTC. |
2023-01-09 11:00:00.000+00:00 |
metastore_name |
string | El nombre del metastore al que pertenece la tabla optimizada. | metastore |
catalog_name |
cadena | El nombre del catálogo al que pertenece la tabla optimizada. | catalog |
schema_name |
cadena | El nombre del esquema al que pertenece la tabla optimizada. | schema |
table_id |
cadena | El id. de la tabla optimizada. | 138ebb4b-3757-41bb-9e18-52b38d3d2836 |
table_name |
cadena | El nombre de la tabla optimizada. | table1 |
operation_type |
cadena | La operación de optimización que se realizó. El valor será COMPACTION , VACUUM o CLUSTERING . |
COMPACTION |
operation_id |
string | El id. de la operación de optimización. | 4dad1136-6a8f-418f-8234-6855cfaff18f |
operation_status |
cadena | El estado de la operación de optimización. El valor será SUCCESSFUL o FAILED: INTERNAL_ERROR . |
SUCCESSFUL |
operation_metrics |
map[string, string] | Detalles adicionales sobre la optimización específica que se realizó. Consulte Métricas de operación. | {"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 | La unidad de uso que usó esta operación. Solo puede ser un valor: ESTIMATED_DBU . |
ESTIMATED_DBU |
usage_quantity |
Decimal | La cantidad de unidades de uso que usó esta operación. | 2.12 |
Métricas de operación
Las métricas registradas en la operation_metrics
columna varían en función del tipo de operación:
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
CLUSTERING
:number_of_removed_files
,number_of_clustered_files
,amount_of_data_removed_bytes
,amount_of_clustered_data_bytes
Consultas de ejemplo
En las secciones siguientes se incluyen consultas de ejemplo que puede usar para obtener información de la tabla del sistema de optimización predictiva. Para que estas consultas funcionen, debe reemplazar los valores entre corchetes {{}}
con sus propios parámetros.
En este artículo se incluyen las siguientes consultas de ejemplo:
- ¿Cuántas DBU usó la optimización predictiva en los últimos 30 días?
- ¿En qué tablas la optimización predictiva pasó más tiempo en los últimos 30 días?
- ¿En qué tablas la optimización predictiva realiza la mayoría de las operaciones?
- Para un catálogo determinado, ¿cuál es el total de bytes que se ha compactado?
- ¿En qué tablas se quitaron la mayor cantidad de bytes?
- ¿Cuál es la tasa de éxito de las operaciones ejecutadas por las optimizaciones predictivas?
¿Cuántas DBU estimadas tiene la optimización predictiva usada en los últimos 30 días?
SELECT SUM(usage_quantity)
FROM system.storage.predictive_optimization_operations_history
WHERE
usage_unit = "ESTIMATED_DBU"
AND timestampdiff(day, start_time, Now()) < 30
¿En qué tablas la optimización predictiva pasó más tiempo en los últimos 30 días (coste 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
¿En qué tablas la optimización predictiva realiza la mayoría de las operaciones?
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 un catálogo determinado, ¿cuál es el total de bytes que se ha compactado?
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
¿En qué tablas se quitaron la mayor cantidad de bytes?
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
¿Cuál es la tasa de éxito de las operaciones ejecutadas por las optimizaciones predictivas?
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