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


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

В этой статье описывается концепция системных таблиц в 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.

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

Системные таблицы должны быть включены администратором учетной записи. Системные таблицы можно включить с помощью команд в 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 и управление им.

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

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

Несмотря на то что системные таблицы можно получить только через рабочую область каталога 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 устарели и будут содержать пустые таблицы.