다음을 통해 공유


시스템 테이블을 사용하여 계정 활동 모니터링

이 문서에서는 Azure Databricks의 시스템 테이블 개념을 설명하고 시스템 테이블 데이터를 최대한 활용하는 데 사용할 수 있는 리소스를 강조 표시합니다.

시스템 테이블이란?

시스템 테이블은 계정 운영 데이터를 위한 Azure Databricks 호스팅의 분석 저장소이며, system 카탈로그에 위치합니다. 시스템 테이블은 계정 전체에서 기록 관찰에 사용할 수 있습니다.

참고 항목

system.information_schema대한 설명서는 정보 스키마참조하세요.

요구 사항

  • 시스템 테이블에 액세스하려면 작업 영역이 "Unity 카탈로그"에 대해 사용 가능하도록 설정되어야 합니다. 자세한 내용은시스템 테이블 스키마 사용 참조하세요.

  • 시스템 테이블은 다음 지역에서 사용할 수 없습니다.

    • Azure 중국 지역
    • Azure Government 지역
    • 인도 서부
    • 스위스 서부

사용할 수 있는 시스템 테이블은 무엇입니까?

현재 Azure Databricks는 다음 시스템 테이블을 호스트합니다.

테이블 설명 위치 스트리밍 지원 뮤료 보존 기간 글로벌 또는 지역 데이터 포함
감사 로그(공개 미리 보기) 해당 지역의 작업 영역에서 모든 감사 이벤트에 대한 레코드를 포함합니다. 사용 가능한 감사 이벤트 목록은 진단 로그 참조참조하세요. 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 아니요 제한 없음 전역
클러스터(공개 미리 보기) 모든 클러스터에 대한 시간 경과에 따른 컴퓨팅 구성의 전체 기록을 포함하는 느린 변경 차원 테이블입니다. system.compute.clusters 365일 지역
노드 타임라인(공개 미리 보기) 모든 용도 및 작업 컴퓨팅 리소스의 사용률 메트릭을 캡처합니다. system.compute.node_timeline 30일 지역
노드 유형(공개 미리 보기) 기본 하드웨어 정보와 함께 현재 사용 가능한 노드 유형을 캡처합니다. system.compute.node_types 아니요 해당 없음 지역
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일 지역
마켓플레이스 유입 경로 이벤트(공개 미리 보기) 목록에 대한 소비자의 의견 및 유입 경로 데이터를 포함합니다. system.marketplace.listing_

funnel_events
365일 지역
마켓플레이스 목록 액세스(공개 미리 보기) 완료된 요청 데이터 또는 목록의 데이터 이벤트를 가져오는 에 대한 소비자 정보를 포함합니다. system.marketplace.listing_

access_events
365일 지역
예측 최적화(공개 미리 보기) 예측 최적화 기능의 운영 기록을 추적합니다. system.storage.predictive_

optimization_operations_history
아니요 180일 지역
Databricks 도우미 이벤트(공개 미리 보기) Databricks Assistant로 전송된 사용자 메시지를 추적합니다. system.access.assistant_events 아니요 365일 지역
쿼리 기록(공개 미리 보기) SQL 웨어하우스와 서버리스 컴퓨트에서 실행되는 모든 쿼리에 대한 레코드를 캡처하며, 노트북작업에 대한 정보를 기록합니다. system.query.history 아니요 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 카탈로그 사용 작업 영역에서만 액세스할 수 있습니다.

시스템 테이블은 스키마 수준에서 사용하도록 설정됩니다. 시스템 스키마를 사용하도록 설정하면 해당 스키마 내의 모든 테이블을 사용하도록 설정합니다. 새 스키마가 릴리스되면 계정 관리자가 스키마를 수동으로 사용하도록 설정해야 합니다.

시스템 테이블은 계정 관리자가 사용하도록 설정해야 합니다. system-schemas 명령을 사용하거나 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 카탈로그에 의해 제어됩니다. 기본값으로 이러한 시스템 스키마에 액세스할 수 있는 사용자는 없습니다. 액세스 권한을 부여하려면 metastore 관리자이자 계정 관리자인 사용자는 시스템 스키마에 대한 USESELECT 권한을 부여해야 합니다. Unity 카탈로그권한 관리를 참조하세요.

시스템 테이블은 읽기 전용이며 수정할 수 없습니다.

참고 항목

계정이 2023년 11월 9일 이후에 만들어진 경우 기본적으로 메타스토어 관리자가 없을 수 있습니다. 자세한 내용은 Unity 카탈로그설정 및 관리를 참조하세요.

시스템 테이블에 계정의 모든 작업 영역에 대한 데이터가 포함되어 있나요?

시스템 테이블에는 동일한 클라우드 지역 내에 배포된 계정의 모든 작업 영역에 대한 운영 데이터가 포함됩니다. 청구 시스템 테이블에는 계정 전체 데이터가 포함됩니다.

시스템 테이블은 Unity 카탈로그 작업 영역을 통해서만 액세스할 수 있지만 테이블에는 계정의 비 Unity 카탈로그 작업 영역에 대한 작업 데이터도 포함됩니다.

시스템 테이블 데이터는 어디에 저장되어 있나요?

계정의 시스템 테이블 데이터는 메타스토어와 동일한 지역에 있는 Azure Databricks 호스팅 스토리지 계정에 저장됩니다. 데이터는 Delta Sharing을 통해 안전하게 공유됩니다.

각 테이블에는 무료 데이터 보존 기간이 있습니다. 보존 기간 연장에 대한 자세한 내용은 Azure Databricks 계정 팀에 문의하세요.

카탈로그 탐색기에서 시스템 테이블은 어디에 있나요?

계정의 시스템 테이블은 Unity 카탈로그 메타스토어마다 포함된 system라는 카탈로그에 있습니다. system 카탈로그에는 시스템 테이블이 포함된 accessbilling 같은 스키마가 표시됩니다.

스트리밍 시스템 테이블에 대한 고려 사항

Azure Databricks는 델타 공유를 사용하여 고객과 시스템 테이블 데이터를 공유합니다. Delta Sharing을 사용하여 스트리밍할 때 다음과 같은 사항을 고려해야 합니다.

  • 스트리밍을 시스템 테이블과 함께 사용하는 경우, skipChangeCommits 옵션을 true로 설정하십시오. 이렇게 하면 스트리밍 작업이 시스템 테이블의 삭제에서 중단되지 않습니다. 업데이트 무시 및 삭제를 참조하세요.
  • Trigger.AvailableNow는 Delta Sharing 스트리밍에서 지원되지 않습니다. Trigger.Once로 변환됩니다.

스트리밍 작업에서 트리거를 사용하고 있는데 최신 시스템 테이블 버전을 따라가지 못하는 경우, Databricks는 작업의 예약 빈도를 늘리도록 권장합니다.

스트리밍 시스템 테이블에서 증분 변경 내용 읽기

spark.readStream.option("skipChangeCommits", "true").table("system.billing.usage")

알려진 문제

  • 현재 실시간 모니터링이 지원되지 않습니다. 데이터는 하루 종일 업데이트됩니다. 최근 이벤트에 대한 로그가 표시되지 않으면 나중에 다시 검사합니다.

  • __internal_logging 시스템 테이블 스키마는 AI Gateway의 지원을 받는 유추 테이블를 사용하여 외부 모델과 프로비전된 처리량 워크로드에 대한 페이로드 로깅을 지원하는 데 사용됩니다. 이 스키마는 계정 관리자에게 표시되지만 사용하도록 설정할 수 없으며 고객 워크플로에 사용하면 안 됩니다.

  • 시스템 테이블을 사용하도록 설정하려면 시스템 테이블 Blob Storage 엔드포인트에 대한 네트워크 액세스 권한을 부여해야 할 수 있습니다. 모든 지역의 시스템 테이블의 스토리지 엔드포인트 목록을 보려면 스토리지 엔드포인트 IP 주소을 참조하세요.

  • system.operational_datasystem.lineage 시스템 스키마는 더 이상 사용되지 않으며 빈 테이블을 포함합니다.