Мониторинг действий учетной записи с помощью системных таблиц
В этой статье описывается концепция системных таблиц в 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
системной таблицы используется для поддержки ведения журнала полезных данных с помощью таблиц вывода. Эта схема видна администраторам учетных записей, но ее нельзя включить и не следует использовать для рабочих процессов клиентов.