Мониторинг действий учетной записи с помощью системных таблиц
В этой статье описывается концепция системных таблиц в 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 |
Да | 365 дней | Региональный |
Временная шкала узла (общедоступная предварительная версия) | Записывает метрики использования вычислительных ресурсов всех целей и заданий. | 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 |
No | 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.
Системные таблицы включены на уровне схемы. Если включить системную схему, включите все таблицы в этой схеме. При выпуске новых схем администратор учетной записи должен вручную включить схему.
Системные таблицы должны быть включены администратором учетной записи. Системные таблицы можно включить с помощью команд
Примечание.
Схема 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 и управление им.
Содержат ли системные таблицы данные для всех рабочих областей в вашей учетной записи?
Системные таблицы содержат операционные данные для всех рабочих областей в учетной записи, развернутой в одном облачном регионе. Таблицы системы выставления счетов содержат данные по всей учетной записи.
Несмотря на то что системные таблицы можно получить только через рабочую область каталога Unity, таблицы также включают операционные данные для рабочих областей каталога, отличных от Unity, в вашей учетной записи.
Где хранятся данные системных таблиц?
Данные системной таблицы вашей учетной записи хранятся в учетной записи хранения, размещенной в Azure Databricks, расположенной в том же регионе, что и хранилище метаданных. Данные безопасно совместно используются с помощью разностного общего доступа.
Каждая таблица имеет бесплатный период хранения данных. Чтобы получить сведения о продлении срока хранения, обратитесь к группе учетной записи Azure Databricks.
Где находятся системные таблицы в обозревателе каталогов?
Системные таблицы в вашей учетной записи находятся в каталоге с именем system
, который входит в каждое хранилище метаданных каталога Unity. В каталоге system
вы увидите такие схемы, как access
и billing
, содержащие системные таблицы.
Рекомендации по потоковой передаче системных таблиц
Azure Databricks использует 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
устарели и будут содержать пустые таблицы.