清洁室事件系统表参考

重要

此系统表为公共预览版。 若要访问表,必须在 system 目录中启用架构。 有关详细信息,请参阅启用系统表架构

清理室事件表记录帐户中你或协作者在干净聊天室(公共预览版)上执行的操作。 此表包含帐户中的区域数据。

有关清洁室的详细信息,请参阅什么是 Azure Databricks 清洁室?

表路径:此系统表位于 system.access.clean_room_events.

清洁室事件系统表架构

清洁室事件系统表使用以下架构:

列名称 数据类型 说明 示例
account_id string Databricks 帐户的 ID 7af234db-66d7-4db3

-bbf0-956098224879
metastore_id string Unity Catalog 元存储的 ID 5a31ba44-bbf4-4174

-bf33-e1fa078e6765
event_id string 清洁室事件的 ID db52a413-7a0a-4d49

-b742-7ae5f06bc4b2
clean_room_name string 与事件关联的清洁室的名称 market-analysis
central_clean_room_id string 中央清洁室的 ID e01b6a78-1336-47e1

-b63d-3e49aa5b627
initiator_global_metastore_id string 发起事件的协作者的全局元存储 ID aws:us-west-2:ec22936d

-cd29-4421-a88a-883fb356776a
event_time timestamp 事件发生时的时间戳 2023-01-01T01:01:01.123
event_type string 事件类型。 请参阅记录的清洁室事件 CLEAN_ROOM_CREATED
clean_room_created_metadata struct 事件类型 CLEAN_ROOM_CREATED 的元数据 {

"collaborators": [

{"collaborator_global_metastore_id":

"aws:us-west-2:ec22936d-cd29-4421-a88a-883fb356776a"},

{"collaborator_global_metastore_id":

"azure:wesus:”3be05a26-5a83-478c-8428-9ef9aa67b5d0"}]

}
clean_room_deleted_metadata struct 事件类型 CLEAN_ROOM_DELETED 的元数据 {

"central_clean_room_id": "af0d4563-2267-412c-9d4a

-8a59c4895c18"

}
run_notebook_started_metadata struct 事件类型 RUN_NOTEBOOK_STARTED 的元数据 {

"notebook_name": "market analysis",

"notebook_checksum": "7072696E7468656C6C6F776F7264",

"run_id": "TaskRunId-634124444694206"

}
run_notebook_completed_metadata struct 事件类型 RUN_NOTEBOOK_COMPLETED 的元数据 请参阅已完成的笔记本运行元数据
clean_room_assets_updated_metadata struct 事件类型 CLEAN_ROOM_ASSETS_UPDATED 的元数据 {

"added_assets": [{

"data_object_type": "TABLE",

"name": "sales",

"catalog": "demo"}],

"updated_assets":[],

"removed_assets": []

}
delete_output_schema_metadata struct 事件类型 DELETE_OUTPUT_SCHEMA 的元数据 {

"name": "output_schema_55555",

"owner_global_metastore_id": "aws:us-west-2:555555-55...",

"action": "DELETE"

expire_time: "2025-01-14T15:28:19.000Z"

}

记录的清洁室事件

此系统表会记录以下事件:

  • CLEAN_ROOM_CREATED:用户创建新的干净房间。
  • CLEAN_ROOM_DELETED:用户删除清洁室。
  • RUN_NOTEBOOK_STARTED:用户在清洁室中启动笔记本运行。
  • RUN_NOTEBOOK_COMPLETED:已完成笔记本运行。 检查 run_notebook_completed_metadata 以查看运行是否成功。
  • CLEAN_ROOM_ASSETS_UPDATED:清洁室的资产已更新。 这可以是添加、更新或删除资产。
  • DELETE_OUTPUT_SCHEMA:输出架构过期并被删除。 对于此事件类型,initiator_global_metastore_id 始终为 system,因为当输出架构失效时会删除。

已完成的笔记本运行元数据架构

run_notebook_completed_metadata 列包含 RUN_NOTEBOOK_COMPLETED 事件的元数据信息。 如果在笔记本的运行过程中创建了 输出表,那么会使用 output_schema 结构来记录信息。

run_notebook_completed_metadata 列使用以下模式:

notebook_name: "example_notebook"
run_id: "TaskRunId-55555129818570"
state: "SUCCESS"
duration_in_seconds: 120
output_schema:
  name: "output_schema_123450129818570"
  owner_global_metastore_id: "aws:us-west-2:55555e-55bc-55a5-55ab-555d5ec16013"
  action: "CREATE"
  expire_time: "2025-01-14T15:28:19.000Z"
  assets_added:
    0:
    name: "important_data"
    data_object_type: "TABLE"

监视清洁室可计费使用情况

若要了解有关清洁室使用情况和成本的详细信息,可以使用 billing.usage 列将此表与 central_clean_room_id 表联接。 在 billing.usage 表中,清洁室的使用情况是使用 usage_metadata.central_clean_room_id 键进行归因的。

示例查询

以下示例查询可帮助你深入了解帐户中的清洁室活动:

列出指定清洁室中的所有事件

注意

<clean_room_name> 替换为指定的清洁室名称。

SELECT
 event_time, initiator_global_metastore_id, event_type,
 CASE
   WHEN event_type = 'CLEAN_ROOM_CREATED' THEN to_json(clean_room_created_metadata)
   WHEN event_type = 'CLEAN_ROOM_DELETED' THEN to_json(clean_room_deleted_metadata)
   WHEN event_type = 'RUN_NOTEBOOK_STARTED' THEN to_json(run_notebook_started_metadata)
   WHEN event_type = 'RUN_NOTEBOOK_COMPLETED' THEN to_json(run_notebook_completed_metadata)
   WHEN event_type = 'CLEAN_ROOM_ASSETS_UPDATED' THEN to_json(clean_room_assets_updated_metadata)
   ELSE ""
 END AS event_metadata
 FROM system.access.clean_room_events
 WHERE clean_room_name = '<clean_room_name>'
ORDER BY event_time DESC

列出指定协作者发起的所有事件

对于 :initiator_global_metastore_id 参数,请输入协作者的全局元存储 ID,也称为共享标识符。

SELECT
  clean_room_name,
  event_type,
  event_time,
  CASE
    WHEN event_type = 'CLEAN_ROOM_CREATED' THEN to_json(clean_room_created_metadata)
    WHEN event_type = 'CLEAN_ROOM_DELETED' THEN to_json(clean_room_deleted_metadata)
    WHEN event_type = 'RUN_NOTEBOOK_STARTED' THEN to_json(run_notebook_started_metadata)
    WHEN event_type = 'RUN_NOTEBOOK_COMPLETED' THEN to_json(run_notebook_completed_metadata)
    WHEN event_type = 'CLEAN_ROOM_ASSETS_UPDATED' THEN to_json(clean_room_assets_updated_metadata)
    ELSE ""
  END AS event_metadata
FROM
  system.access.clean_room_events
WHERE
  initiator_global_metastore_id = :initiator_global_metastore_id
ORDER BY
  clean_room_name,
  event_time DESC

列出清洁室的所有相关协作者

SELECT DISTINCT explode(transform(clean_room_created_metadata.collaborators, x -> x.collaborator_global_metastore_id)) AS collaborator
FROM system.access.clean_room_events
WHERE event_type = 'CLEAN_ROOM_CREATED'

列出速度最慢的笔记本运行

SELECT
 clean_room_name,
 run_notebook_completed_metadata.notebook_name AS notebook_name,
 run_notebook_completed_metadata.duration_in_seconds AS duration_in_seconds,
 run_notebook_completed_metadata.run_id AS run_id
FROM system.access.clean_room_events
WHERE event_type = 'RUN_NOTEBOOK_COMPLETED'
 AND run_notebook_completed_metadata.state = 'SUCCESS'
 AND run_notebook_completed_metadata.duration_in_seconds IS NOT NULL
ORDER BY duration_in_seconds DESC

每个笔记本的成功运行率

SELECT
 clean_room_name,
 run_notebook_completed_metadata.notebook_name AS notebook_name,
 ROUND(COUNT(CASE WHEN run_notebook_completed_metadata.state = 'SUCCESS' THEN 1 END) * 1.0 / COUNT(*) * 100) AS success_rate
FROM system.access.clean_room_events
WHERE event_type = 'RUN_NOTEBOOK_COMPLETED'
GROUP BY clean_room_name, notebook_name
ORDER BY clean_room_name, notebook_name

列出已将指定表添加到清洁室的所有事件

对于 :table_name_string 参数,请输入指定的表名称。

SELECT
  clean_room_name,
  initiator_global_metastore_id,
  event_time,
  clean_room_assets_updated_metadata
FROM
  system.access.clean_room_events
WHERE
  event_type = 'CLEAN_ROOM_ASSETS_UPDATED'
  AND exists(
    clean_room_assets_updated_metadata.added_assets,
    item -> item.data_object_type = 'TABLE'
    AND item.name = :table_name_string
  )
ORDER BY
  clean_room_name,
  event_time DESC