다음을 통해 공유


클린룸 이벤트 시스템 테이블 참조

Important

이 시스템 테이블은 공개 프리뷰 상태에있습니다. 테이블에 액세스하려면 system 카탈로그에서 스키마를 사용하도록 설정해야 합니다. 자세한 내용은 시스템 테이블 스키마 사용을 참조하세요.

클린룸 이벤트 테이블은 계정의 클린룸(공개 미리 보기)에서 사용자 또는 협력자가 수행한 작업을 기록합니다. 이 표에는 계정 전체의 지역 데이터가 포함됩니다.

클린룸에 대한 자세한 내용은 Azure Databricks Clean Rooms란?을 참조하세요.

테이블 경로: 이 시스템 테이블은 system.access.clean_room_events있습니다.

클린룸 이벤트 시스템 테이블 스키마

클린룸 이벤트 시스템 테이블은 다음 스키마를 사용합니다.

열 이름 데이터 형식 설명 예시
account_id string Databricks 계정의 ID 7af234db-66d7-4db3

-bbf0-956098224879
metastore_id string Unity 카탈로그 메타스토어의 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 완료된 Notebook 실행 메타데이터 참조
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: Notebook 실행이 완료되었습니다. run_notebook_completed_metadata 확인하여 실행이 성공했는지 확인합니다.
  • CLEAN_ROOM_ASSETS_UPDATED: 클린룸의 자산이 업데이트됩니다. 자산을 추가, 업데이트 또는 삭제할 수 있습니다.
  • DELETE_OUTPUT_SCHEMA: 출력 스키마가 만료되고 삭제됩니다. 출력 스키마가 만료되면 삭제가 발생하므로 이 이벤트 형식에 대한 initiator_global_metastore_id 항상 system.

완료된 노트북 실행 메타데이터 스키마

run_notebook_completed_metadata 열에는 RUN_NOTEBOOK_COMPLETED 이벤트에 대한 메타데이터 정보가 포함되어 있습니다. Notebook 실행에서 출력 테이블을 만든 경우 구조체를 사용하여 정보가 기록됩니다.

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"

클린룸 청구 가능 사용량 모니터링

클린룸 사용량 및 비용에 대해 자세히 알아보려면 이 테이블을 central_clean_room_id 열을 사용하여 billing.usage 테이블에 조인할 수 있습니다. 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

모든 Notebook의 성공률

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