Мониторинг действий учетной записи с помощью системных таблиц
В этой статье описывается концепция системных таблиц в Azure Databricks и выделены ресурсы, которые можно использовать для получения большей части данных системных таблиц.
Что такое системные таблицы?
Системные таблицы представляют собой аналитическое хранилище операционных данных вашей учетной записи, размещенное в Azure Databricks, в каталоге system
. Системные таблицы можно использовать для исторической наблюдаемости в вашей учетной записи.
Примечание.
Документацию по system.information_schema
см. в схеме информации.
Требования
- Чтобы получить доступ к системным таблицам, в вашей рабочей области должна быть активирована поддержка каталога Unity. Дополнительные сведения см. в разделе Включение системных схем таблиц.
- Системные таблицы недоступны в следующих регионах:
- регионы Azure для Китая.
- Регионы Azure для государственных организаций
- Индия (запад)
- Западная Швейцария
Какие системные таблицы доступны?
В настоящее время Azure Databricks размещает следующие системные таблицы:
Таблица | Описание | Расположение | Поддерживает потоковую передачу | Бесплатный срок хранения | Включает глобальные или региональные данные |
---|---|---|---|---|---|
Аудиторские журналы (общедоступная предварительная версия) | Включает записи для всех событий аудита из рабочих областей в вашем регионе. Список доступных событий аудита см. в справочнике по журналу диагностики. | 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 |
Нет | Не ограничено | Глобальный |
Кластеры (общедоступная предварительная версия) | Медленно изменяющаяся таблица измерений, содержащая полную историю конфигураций вычислений с течением времени для любого кластера. | system.compute.clusters |
Да | 365 дней | Региональный |
Временная шкала узла (общедоступная предварительная версия) | Записывает метрики использования вычислительных ресурсов всех целей и заданий. | system.compute.node_timeline |
Да | 30 дней | Региональный |
Типы узлов (общедоступная предварительная версия) | Записывает доступные в настоящее время типы узлов с основными сведениями о оборудовании. | system.compute.node_types |
Нет | Н/П | Региональный |
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 |
Нет | 180 дней | Региональный |
События Помощника Databricks (общедоступная предварительная версия) | Отслеживает сообщения пользователей, отправленные помощнику Databricks. | system.access.assistant_events |
Нет | 365 дней | Региональный |
История запросов (общедоступная предварительная версия) | Фиксирует записи всех запросов, выполняемых в хранилищах SQL и бессерверных вычислениях для ноутбуков и задач. | system.query.history |
Нет | 90 дней | Региональный |
События в чистых комнатах (публичная предварительная версия) | Фиксирует события, связанные с чистыми комнатами. | system.access.clean_room_events |
Да | 365 дней | Региональный |
Использование конечной точки сервиса моделей (общедоступная предварительная версия) | Записывает количество токенов для каждого запроса к точке доступа обслуживания модели и их ответов. Чтобы записать использование конечной точки в этой таблице, необходимо включить отслеживание использования в конечной точке обслуживания. |
system.serving.endpoint_usage . |
Да | 90 дней | Региональный |
Данные служебной конечной точки модели (общедоступная предварительная версия) | Медленно изменяющаяся таблица измерений, в которой хранятся метаданные для каждой обслуживаемой базовой модели в конечной точке обслуживания модели. | system.serving.served_entities |
Да | 365 дней | Региональный |
события доступа к сети (общедоступная предварительная версия) | Таблица, записывающая событие при каждом отказе в доступе к Интернету из учетной записи. | system.access.outbound_network |
Да | 365 дней | Региональный |
Таблицы с данными по платному использованию и ценам можно использовать бесплатно. Таблицы в общедоступной предварительной версии также можно использовать во время предварительной версии, но в будущем могут взиматься плата.
Примечание.
В вашей учетной записи могут отображаться другие системные таблицы, кроме перечисленных выше. Эти таблицы в настоящее время находятся в закрытой предварительной версии и по умолчанию пусты. Если вы хотите использовать любую из этих таблиц, обратитесь к группе учетной записи Databricks.
Включить схемы системных таблиц
Так как системные таблицы управляются каталогом Unity, в учетной записи должна быть по крайней мере одна рабочая область с поддержкой каталога Unity, чтобы включить и получить доступ к системным таблицам. Системные таблицы включают данные из всех рабочих областей в вашей учетной записи, но к ним можно получить доступ только из рабочей области с поддержкой каталога Unity.
Системные таблицы включены на уровне схемы. Если включить системную схему, включите все таблицы в этой схеме. При выпуске новых схем администратор учетной записи должен вручную включить схему.
Системные таблицы должны быть включены администратором учетной записи. Их можно включить с помощью команд system-schemas
в Databricks CLI или использовать SystemSchemas API.
Примечание.
Схема 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. Ни у одного пользователя по умолчанию нет доступа к этим системным схемам. Чтобы предоставить доступ, пользователь, который является администратором хранилища метаданных и администратором учетной записи, должен предоставить USE
и SELECT
разрешения на системные схемы. См. раздел «Управление привилегиями» в каталоге Unity.
Системные таблицы доступны только для чтения и не могут быть изменены.
Примечание.
Если учетная запись была создана после 9 ноября 2023 г., возможно, у вас нет администратора хранилища метаданных по умолчанию. Для получения дополнительной информации см. Настройка и управление Unity Catalog.
Содержат ли системные таблицы данные для всех рабочих областей в вашей учетной записи?
Системные таблицы содержат операционные данные для всех рабочих областей в учетной записи, развернутой в одном облачном регионе. Таблицы системы выставления счетов содержат данные по всей учетной записи.
Несмотря на то что системные таблицы можно получить только через рабочую область каталога Unity, таблицы также включают операционные данные для рабочих областей каталога, отличных от Unity, в вашей учетной записи.
Где хранятся данные системных таблиц?
Данные системной таблицы вашей учетной записи хранятся в учетной записи хранения, размещенной в Azure Databricks, расположенной в том же регионе, что и хранилище метаданных. Данные передаются вам безопасным образом с использованием Delta Sharing.
Каждая таблица имеет бесплатный период хранения данных. Чтобы получить сведения о продлении срока хранения, обратитесь к группе учетной записи Azure Databricks.
Где находятся системные таблицы в обозревателе каталогов?
Системные таблицы в вашей учетной записи находятся в каталоге с именем system
, который входит в каждое хранилище метаданных каталога Unity. В каталоге system
вы увидите такие схемы, как access
и billing
, содержащие системные таблицы.
Рекомендации по потоковой передаче системных таблиц
Azure Databricks использует Delta Sharing для обмена данными системных таблиц с клиентами. Имейте в виду следующие аспекты при потоковой передаче с помощью Delta Sharing:
- Если вы используете потоковую передачу с системными таблицами, задайте для параметра
skipChangeCommits
значениеtrue
. Это обеспечивает, что задание потоковой передачи не прерывается из-за удаления в системных таблицах. См. Игнорировать обновления и удаления. -
Trigger.AvailableNow
не поддерживается потоковой передачей Delta Sharing. Он будет преобразован вTrigger.Once
.
Если в вашей потоковой задаче используется триггер, и вы обнаружите, что она не догоняет актуальную версию системной таблицы, Databricks рекомендует учащение планируемой частоты этой задачи.
Чтение добавочных изменений из таблиц системы потоковой передачи
spark.readStream.option("skipChangeCommits", "true").table("system.billing.usage")
Известные проблемы
- В настоящее время нет поддержки мониторинга в режиме реального времени. Данные обновляются в течение дня. Если вы не видите журнал недавнего события, зайдите позже.
- Схема системной таблицы
__internal_logging
используется для поддержки ведения журналов загрузки с помощью таблиц вывода с поддержкой шлюза ИИ для внешних моделей и подготовленных рабочих нагрузок с заданной пропускной способностью. Эта схема видна администраторам учетных записей, но ее нельзя включить и не следует использовать для рабочих процессов клиентов.
- Чтобы включить системные таблицы, может потребоваться предоставить сетевой доступ к Blob storage endpoint, являющемуся конечной точкой хранилища системных таблиц. Сведения о том, как просмотреть список конечных точек хранения системных таблиц каждого региона, см. в разделе IP-адреса конечных точек хранилища.
- Системные схемы
system.operational_data
иsystem.lineage
устарели и будут содержать пустые таблицы.