Справочник по системной таблице прогнозной оптимизации
Внимание
Эта системная таблица находится в общедоступной предварительной версии. Чтобы получить доступ к таблице, в каталоге должна быть включена system
схема. Дополнительные сведения см. в разделе "Включение схем системной таблицы".
Примечание.
Чтобы получить доступ к этой таблице, необходимо включить схему storage
(см. раздел "Включить системные схемы таблиц") и регион должен поддерживать прогнозную оптимизацию (см. регионы Azure Databricks).
В этой статье описана схема таблицы журнала операций прогнозной оптимизации и приведены примеры запросов. Прогнозная оптимизация оптимизирует макет данных для повышения производительности и эффективности затрат. Системная таблица отслеживает журнал операций этой функции. Сведения об прогнозной оптимизации см. в разделе "Прогнозная оптимизация" для управляемых таблиц каталога Unity.
Путь к таблице: эта системная таблица расположена по адресу system.storage.predictive_optimization_operations_history
.
Рекомендации по доставке
- Данные могут занять до 24 часов.
- Прогнозная оптимизация может выполнять несколько операций в одном кластере. Если это так, доля баз данных, которые относятся к каждой из нескольких операций, приблизилась.
usage_unit
Именно поэтому для параметра задано значениеESTIMATED_DBU
. Тем не менее общее количество баз данных, потраченных на кластер, будет точным.
Схема таблицы прогнозной оптимизации
В системной таблице журнала операций прогнозной оптимизации используется следующая схема:
Имя столбца | Тип данных | Description | Пример |
---|---|---|---|
account_id |
строка | Идентификатор учетной записи. | 11e22ba4-87b9-4cc2-9770-d10b894b7118 |
workspace_id |
строка | Идентификатор рабочей области, в которой прогнозная оптимизация выполнила операцию. | 1234567890123456 |
start_time |
TIMESTAMP | Время начала операции. Сведения о часовом поясе записываются в конце значения с +00:00 представлением UTC. |
2023-01-09 10:00:00.000+00:00 |
end_time |
TIMESTAMP | Время завершения операции. Сведения о часовом поясе записываются в конце значения с +00:00 представлением UTC. |
2023-01-09 11:00:00.000+00:00 |
metastore_name |
строка | Имя хранилища метаданных, к которому принадлежит оптимизированная таблица. | metastore |
catalog_name |
строка | Имя каталога, к которому принадлежит оптимизированная таблица. | catalog |
schema_name |
строка | Имя схемы, к которой принадлежит оптимизированная таблица. | schema |
table_id |
строка | Идентификатор оптимизированной таблицы. | 138ebb4b-3757-41bb-9e18-52b38d3d2836 |
table_name |
строка | Имя оптимизированной таблицы. | table1 |
operation_type |
строка | Операция оптимизации, которая была выполнена. Значение будет , COMPACTION VACUUM или CLUSTERING . |
COMPACTION |
operation_id |
строка | Идентификатор операции оптимизации. | 4dad1136-6a8f-418f-8234-6855cfaff18f |
operation_status |
строка | Состояние операции оптимизации. Значение будет или SUCCESSFUL FAILED: 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 |
строка | Единица использования этой операции. Может быть только одно значение: ESTIMATED_DBU |
ESTIMATED_DBU |
usage_quantity |
десятичное | Объем единицы использования, используемой этой операцией. | 2.12 |
Метрики операций
Метрики, записанные в столбце operation_metrics
, зависят от типа операции:
COMPACTION
:number_of_compacted_files
, ,number_of_output_files
amount_of_data_compacted_bytes
amount_of_output_data_bytes
VACUUM
:number_of_deleted_files
,amount_of_data_deleted_bytes
CLUSTERING
:number_of_removed_files
, ,amount_of_data_removed_bytes
number_of_clustered_files
amount_of_clustered_data_bytes
Примеры запросов
В следующих разделах приведены примеры запросов, которые можно использовать для получения аналитических сведений о системной таблице прогнозной оптимизации. Для работы этих запросов необходимо заменить значения в фигурных скобках {{}}
собственными параметрами.
В этой статье приведены следующие примеры запросов:
- Сколько баз данных используется прогнозной оптимизации за последние 30 дней?
- В каких таблицах прогнозная оптимизация провела большую часть за последние 30 дней?
- В каких таблицах выполняется прогнозная оптимизация, выполняющая большинство операций?
- Для данного каталога сколько байтов было сокращено?
- Какие таблицы были наиболее байтов вакуумными?
- Какова скорость успешности операций, выполняемых с помощью прогнозных оптимизаций?
Сколько предполагаемых баз данных использует прогнозную оптимизацию за последние 30 дней?
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