다음을 통해 공유


시스템 테이블을 사용하여 사용량 모니터링

Important

이 기능은 공개 미리 보기 상태입니다. 현재 이 기능을 사용하는 데는 요금이 부과되지 않습니다. 나중에 이 사용량 중 일부는 요금이 부과될 수 있습니다.

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

시스템 테이블이란?

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

참고 항목

자세한 내용은 정보 스키마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 None 지역
노드 형식 기본 하드웨어 정보를 사용하여 현재 사용 가능한 노드 유형을 캡처합니다. system.compute.node_types 아니요 해당 없음 지역
SQL 웨어하우스 이벤트 SQL 웨어하우스와 관련된 이벤트를 캡처합니다. 예를 들어 시작, 중지, 실행, 확장 및 축소가 있습니다. system.compute.warehouse_events 365일 지역
작업 계정에서 만든 모든 작업을 추적합니다. system.workflow.jobs 365일 지역
작업 작업 계정에서 실행되는 모든 작업 작업을 추적합니다. system.workflow.job_tasks 365일 지역
작업 실행 타임라인 작업 실행의 시작 및 종료 시간을 추적합니다. system.workflow.

job_run_timeline
365일 지역
작업 작업 타임라인 작업 실행에 사용되는 시작 및 종료 시간 및 컴퓨팅 리소스를 추적합니다. system.workflow.

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
아니요 180일 지역

참고 항목

위에 나열된 테이블 외에 계정에 다른 시스템 테이블이 표시될 수 있습니다. 이러한 테이블은 현재 프라이빗 미리 보기로 제공되며 기본적으로 비어 있습니다. 이러한 테이블을 사용하려면 Databricks 계정 팀에 문의하세요.

시스템 테이블 스키마 사용

시스템 테이블은 Unity 카탈로그에 의해 관리되므로 시스템 테이블을 사용하도록 설정하고 액세스하려면 계정에 하나 이상의 Unity 카탈로그 사용 작업 영역이 있어야 합니다. 시스템 테이블에는 계정의 모든 작업 영역의 데이터가 포함되지만 Unity 카탈로그 사용 작업 영역에서만 액세스할 수 있습니다.

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

시스템 테이블은 계정 관리자가 사용하도록 설정해야 합니다. 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 관리자 또는 기타 권한 있는 사용자가 시스템 스키마에 대한 권한과 SELECT 권한을 부여 USE 해야 합니다. Unity Catalog에서 권한 관리를 참조하세요.

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

참고 항목

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

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

감사 로그 및 계보 테이블에는 동일한 클라우드 지역 내에 배포된 계정의 모든 작업 영역에 대한 운영 데이터가 포함됩니다. 청구 시스템 테이블(system.billing.usage)에는 배포된 지역에 관계없이 계정의 모든 작업 영역에 대한 데이터가 포함됩니다.

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

시스템 테이블은 어디에 있나요?

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

참고 항목

시스템 테이블 공개 미리 보기 중에 Azure Databricks는 모든 시스템 테이블 데이터를 유지합니다.

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

시스템 테이블에 대한 액세스는 델타 공유에서 지원됩니다. 델타 공유를 사용하여 스트리밍할 때는 다음과 같은 사항을 고려해야 합니다.

  • 시스템 테이블과 함께 스트리밍을 사용하는 경우 옵션을 trueskipChangeCommit로 설정합니다. 이렇게 하면 스트리밍 작업이 시스템 테이블의 삭제에서 중단되지 않습니다. 업데이트 및 삭제 무시를 참조 하세요.
  • Trigger.AvailableNow 는 델타 공유 스트리밍에서 지원되지 않습니다. 로 변환 Trigger.Once됩니다.
  • 스트리밍 작업에서 트리거를 사용하고 작업이 최신 시스템 테이블 버전을 따라잡지 못하는 경우 Databricks는 작업의 예약된 빈도를 늘리는 것이 좋습니다.

알려진 문제

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

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

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