Поделиться через


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

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

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

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

Примечание.

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

Требования

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

  • Системные таблицы недоступны в следующих регионах:

    • регионы Azure для Китая.
    • Регионы Azure для государственных организаций
    • Индия (запад)
    • Западная Швейцария

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

В настоящее время 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 Не ограничено Глобальный
Кластеры (общедоступная предварительная версия) Медленно изменяющаяся таблица измерений, содержащая полную историю конфигураций вычислений с течением времени для любого кластера. system.compute.clusters Да Н/П Региональный
Временная шкала узла (общедоступная предварительная версия) Записывает метрики использования вычислительных ресурсов всех целей и заданий. system.compute.node_timeline Да 30 дней Региональный
Типы узлов (общедоступная предварительная версия) Записывает доступные в настоящее время типы узлов с основными сведениями о оборудовании. system.compute.node_types No Н/П Региональный
Хранилища SQL (общедоступная предварительная версия) Содержит полный журнал конфигураций со временем для любого хранилища SQL. system.compute.warehouses Да 365 дней Региональный
События хранилища SQL (общедоступная предварительная версия) Записывает события, связанные с хранилищами SQL. Например, запуск, остановка, выполнение, масштабирование вверх и вниз. system.compute.warehouse_events Да 365 дней Региональный
Задания (общедоступная предварительная версия) Отслеживает все задания, созданные в учетной записи. system.lakeflow.jobs Да 365 дней Региональный
Задачи задания (общедоступная предварительная версия) Отслеживает все задачи задания, выполняемые в учетной записи. system.lakeflow.job_tasks Да 365 дней Региональный
Временная шкала выполнения задания (общедоступная предварительная версия) Отслеживает время начала и окончания выполнения задания. system.lakeflow.

job_run_timeline
Да 365 дней Региональный
Временная шкала задач задания (общедоступная предварительная версия) Отслеживает время начала и окончания и вычислительные ресурсы, используемые для выполнения задач задания. system.lakeflow.

job_task_run_timeline
Да 365 дней Региональный
События воронки Marketplace (общедоступная предварительная версия) Включает в себя впечатление потребителей и данные воронки для ваших списков. system.marketplace.listing_

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

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

optimization_operations_history
No 180 дней Региональный
События Помощника Databricks (общедоступная предварительная версия) Отслеживает сообщения пользователей, отправленные помощнику Databricks. system.access.assistant_events No 365 дней Региональный
Журнал запросов (общедоступная предварительная версия) Записывает записи для всех запросов, выполняемых в хранилищах SQL. system.query.history Да 90 дней Региональный
События очистки помещений (общедоступная предварительная версия) Записывает события, связанные с чистыми комнатами. system.access.clean_room_events Да 365 дней Региональный
Использование конечной точки обслуживания модели (общедоступная предварительная версия) Записывает количество маркеров для каждого запроса в конечную точку обслуживания модели и его ответы. Чтобы записать использование конечной точки в этой таблице, необходимо включить отслеживание использования в конечной точке обслуживания. system.serving.endpoint_usage. Да 90 дней Региональный
Данные конечной точки обслуживания модели (общедоступная предварительная версия) Медленно изменяющаяся таблица измерений, в которой хранятся метаданные для каждой обслуживаемой внешней модели в конечной точке обслуживания модели. system.serving.served_entities Да 365 дней Региональный

Платные таблицы использования и цен можно использовать бесплатно. Таблицы в общедоступной предварительной версии также можно использовать во время предварительной версии, но в будущем могут взиматься плата.

Примечание.

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

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

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

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

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

Примечание.

Схема billing включена по умолчанию. Другие схемы должны быть включены вручную.

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

Используйте следующую команду 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. По умолчанию доступ к этим системным схемам не имеется. Чтобы предоставить доступ, пользователь, который является администратором хранилища метаданных и администратором учетной записи, должен предоставлять и SELECT разрешения USE на системные схемы. См. статью Управление привилегиями в каталоге Unity.

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

Примечание.

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

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

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

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

Где хранятся системные данные таблицы?

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

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

Где находятся системные таблицы в обозревателе каталогов?

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

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

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

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

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

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

spark.readStream.option("skipChangeCommits", "true").table("system.billing.usage")

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

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

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

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

  • Схема __internal_logging системной таблицы используется для поддержки ведения журнала полезных данных с помощью таблиц вывода. Эта схема видна администраторам учетных записей, но ее нельзя включить и не следует использовать для рабочих процессов клиентов.