Мониторинг использования с помощью системных таблиц

Внимание

Эта функция предоставляется в режиме общедоступной предварительной версии. В настоящее время эта функция не взимается. В будущем некоторые из этих действий могут взиматься плата.

В этой статье описывается концепция системных таблиц в Azure Databricks и выделены ресурсы, которые можно использовать для получения большей части данных системных таблиц.

Что такое системные таблицы?

Системные таблицы — это аналитическое хранилище, размещенное в Azure Databricks, в котором находятся данные вашей учетной записи в каталоге system . Системные таблицы можно использовать для исторической наблюдаемости в вашей учетной записи.

Примечание.

Сведения о схеме сведений см. в system.information_schemaдокументации.

Требования

Чтобы получить доступ к системным таблицам, рабочая область должна быть включена для каталога Unity. Дополнительные сведения см. в разделе "Включение схем системной таблицы".

Какие системные таблицы доступны?

В настоящее время Azure Databricks размещает системные таблицы для:

Таблицу Description Расположение Поддерживает потоковую передачу Хранение Включение глобальных или региональных данных
Журналы аудита Включает записи для всех событий аудита из рабочих областей в вашем регионе. Список доступных событий аудита см . в справочнике по журналу диагностики. system.access.audit Да 365 дней Региональные события на уровне рабочей области. Глобальный для событий уровня учетной записи.
Происхождение таблицы Включает запись для каждого события чтения или записи в таблице каталога Unity или пути. system.access.table_lineage Да 365 дней Региональный
Происхождение столбцов Включает запись для каждого события чтения или записи в столбце каталога Unity (но не включает события, не имеющие источника). system.access.column_lineage Да 365 дней Региональный
Использование с выставлением счетов Включает записи для всех выставленных счетов использования в вашей учетной записи. Каждая запись об использовании — это почасовая статистическая обработка оплачиваемого использования ресурса. system.billing.usage Да 365 дней Глобальный
Цены Исторический журнал цен на номер SKU. Запись добавляется при каждом изменении цены SKU. system.billing.list_prices No Н/П Глобальный
Clusters (Кластеры) Медленно изменяющаяся таблица измерений, содержащая полную историю конфигураций кластера с течением времени для любого кластера. system.compute.clusters Да Не допускается Региональный
Типы узлов Записывает доступные в настоящее время типы узлов с основными сведениями о оборудовании. system.compute.node_types No Н/П Региональный
События хранилища SQL Записывает события, связанные с хранилищами SQL. Например, запуск, остановка, выполнение, масштабирование вверх и вниз. system.compute.warehouse_events Да 365 дней Региональный
События воронки Marketplace Включает в себя впечатление потребителей и данные воронки для ваших списков. system.marketplace.listing_

funnel_events
Да 365 дней Региональный
Доступ к списку в Marketplace Содержит сведения о потребителе для завершенных данных запроса или получения событий данных в списках. system.marketplace.listing_

access_events
Да 365 дней Региональный
Прогнозная оптимизация Отслеживает журнал операций функции прогнозной оптимизации. system.storage.predictive_

optimization_operations_history
No 180 дней Региональный

Примечание.

В вашей учетной записи могут отображаться другие системные таблицы, кроме перечисленных выше. Эти таблицы в настоящее время находятся в закрытой предварительной версии и по умолчанию пусты. Если вы хотите использовать любую из этих таблиц, обратитесь к группе учетной записи Databricks.

Включение схем системных таблиц

Так как системные таблицы управляются каталогом Unity, в учетной записи должна быть по крайней мере одна рабочая область с поддержкой каталога Unity, чтобы включить и получить доступ к системным таблицам. Системные таблицы включают данные из всех рабочих областей в вашей учетной записи, но к ним можно получить доступ только из рабочей области с поддержкой каталога Unity.

Системные таблицы включены на уровне схемы. Если включить системную схему, включите все таблицы в этой схеме. При выпуске новых схем администратор учетной записи должен вручную включить схему.

Системные таблицы должны быть включены администратором учетной записи. Системные таблицы можно включить с помощью API SystemSchemas.

Перечисление доступных системных схем

Используйте следующую команду curl для перечисления доступных системных схем:

curl -v -X GET -H "Authorization: Bearer <PAT Token>" "https://adb-<xxx>.azuredatabricks.net/api/2.0/unity-catalog/metastores/<metastore-id>/systemschemas"

Ниже приведен пример выходных GET данных команды:

{"schemas":[{"schema":"access","state":"<AVAILABLE OR EnableCompleted>"},{"schema":"billing","state":"<AVAILABLE OR EnableCompleted>"},{"schema":"information_schema","state":"<AVAILABLE OR EnableCompleted>"}]}

state: AVAILABLE: системная схема доступна, но еще не включена.

state: EnableCompleted: вы включили системную схему, и она отображается в Обозреватель каталога.

Включение системной схемы

Используйте следующую команду curl для включения системной схемы:

curl -v -X PUT -H "Authorization: Bearer <PAT Token>" "https://adb-<xxx>.azuredatabricks.net/api/2.0/unity-catalog/metastores/<metastore-id>/systemschemas/<SCHEMA_NAME>"

Если системная схема включена успешно, возвращается код 200 результата.

При попытке повторного включения системной схемы возвращается следующее: "error_code":"SCHEMA_ALREADY_EXISTS","message":"Schema <schema-name> already exists"

Отключение системной схемы

Чтобы отключить системную схему, используйте следующую команду curl:

curl -v -X DELETE -H "Authorization: Bearer <PAT Token>" "https://adb-<xxx>.azuredatabricks.net/api/2.0/unity-catalog/metastores/<metastore-id>/systemschemas/<SCHEMA_NAME>"

Предоставление доступа к системным таблицам

Доступ к системной таблице регулируется каталогом Unity. По умолчанию у пользователей нет доступа к системным таблицам. Чтобы предоставить доступ, администратор хранилища метаданных или другой привилегированный пользователь должны предоставлять USE и SELECT разрешения на системные схемы. См. статью Управление привилегиями в каталоге Unity.

Системные таблицы доступны только для чтения и не могут быть изменены.

Примечание.

Если учетная запись была создана после 9 ноября 2023 г., возможно, у вас нет администратора хранилища метаданных по умолчанию. Дополнительные сведения см. в разделе "Настройка каталога Unity" и управление ими.

Содержат ли системные таблицы данные для всех рабочих областей в вашей учетной записи?

Таблицы журналов аудита и происхождения содержат операционные данные для всех рабочих областей в учетной записи, развернутой в одном облачном регионе. Таблица системы выставления счетов (system.billing.usage) содержит данные для всех рабочих областей в вашей учетной записи независимо от того, в каком регионе они развернуты.

Несмотря на то что системные таблицы можно получить только через рабочую область каталога Unity, таблицы также включают операционные данные для рабочих областей каталога, отличных от Unity, в вашей учетной записи.

Где расположены системные таблицы?

Системные таблицы в вашей учетной записи находятся в каталоге, который systemвключается в каждое хранилище метаданных каталога Unity. В каталоге вы увидите system такие схемы, как access и billing содержащие системные таблицы.

Примечание.

Во время общедоступной предварительной версии системных таблиц Azure Databricks сохранит все данные системных таблиц.

Рекомендации по потоковой передаче системных таблиц

Доступ к системным таблицам поддерживается разностным общим доступом. Помните о следующих рекомендациях при потоковой передаче с помощью разностного общего доступа:

  • Если вы используете потоковую передачу с системными таблицами, задайте skipChangeCommit для параметра trueзначение . Это гарантирует, что задание потоковой передачи не нарушается при удалении в системных таблицах. См . раздел "Игнорировать обновления и удаления".
  • Trigger.AvailableNow не поддерживается потоковой передачей delta Sharing. Он будет преобразован в Trigger.Once.
  • Если вы используете триггер в задании потоковой передачи и обнаружите, что задание не выполняется до последней версии системной таблицы, Databricks рекомендует увеличить запланированную частоту задания.

Известные проблемы

  • В настоящее время нет поддержки мониторинга в режиме реального времени. Данные обновляются в течение дня. Если вы не видите журнал недавнего события, зайдите позже.

  • Чтобы включить системные таблицы, может потребоваться предоставить сетевой доступ к конечной точке хранилища BLOB-объектов системных таблиц. Чтобы просмотреть список конечных точек хранилища системных таблиц региона, см. служба хранилища IP-адреса конечных точек.

  • Системные system.operational_data схемы и system.lineage не рекомендуется использовать и будут содержать пустые таблицы.