공유된 구체화된 데이터 기록 테이블은 델타 공유를 사용하여 뷰 공유, 구체화된 뷰 및 스트리밍 테이블에서 만든 데이터 구체화를 나타냅니다. 데이터의 출처, 구체화된 보안 대상, 구체화 생성 시기 등의 정보가 포함되어 있습니다.
공유 구체화에 대한 자세한 내용은 공유에 보기 추가 및 공유 보기 읽기를 참조하세요.
테이블 경로: 이 시스템 테이블은 system.sharing.materialization_history에 위치해 있습니다.
스키마를 materialization_history 사용 설정
계정 관리자는 스키마를 materialization_history 사용하도록 설정해야 합니다.
- 계정 콘솔의 왼쪽 패널에서 미리 보기를 클릭합니다.
- 구체화 기록 공유 시스템 테이블을 활성화합니다.
공유 구체화된 데이터 기록 시스템 테이블 스키마
공유 구체화된 데이터 기록 시스템 테이블은 다음 스키마를 사용합니다.
| 열 이름 | 유형 | 설명 | 예제 데이터 | 널러블 |
|---|---|---|---|---|
sharing_materialization_id |
문자열 | 데이터 구체화의 고유 ID입니다. | da38803f-2a62-4e27-bdb9-29b801c6dd84 |
거짓 |
account_id |
문자열 | 구체화가 만들어진 Azure Databricks 계정의 ID입니다. | 거짓 | |
workspace_id |
문자열 | 청구된 Azure Databricks 작업 영역의 ID입니다. | 6051921418418893 |
거짓 |
recipient_name |
문자열 | 데이터 구체화를 사용하는 받는 사람의 이름. | e2-dogfood |
진실 |
provider_name |
문자열 | 데이터 구체화를 사용하는 공급자의 이름입니다. | aws:us-west-2:19a85dee-54bc-43a2-87ab-023d0ec16013 |
진실 |
share_name |
문자열 | 데이터 구체화를 만드는 데 사용되는 공유의 이름입니다. | my_share |
거짓 |
schema_name |
문자열 | 공유 자산의 스키마 이름입니다. | my_schema |
거짓 |
table_name |
문자열 | 데이터 구체화를 만드는 데 사용되는 테이블의 이름입니다. | stocks |
거짓 |
created_at |
시간표시 | 구체화가 만들어진 시기의 타임스탬프입니다. | 2025-01-01 00:00:00 |
거짓 |
샘플 쿼리
이 섹션에는 청구 특성에 대한 인사이트를 얻는 데 사용할 수 있는 다음 샘플 쿼리가 포함되어 있습니다.
- 델타 공유 수신자가 공유 뷰 쿼리에 사용된 DBU 수를 묻습니다.
- 델타 공유 받는 사람이 가장 많이 사용량을 쿼리한 공급자를 묻습니다.
- 델타 공유 공급자가 열린 받는 사람에 대한 뷰 필터링에 사용된 DBU 수를 묻습니다.
- 델타 공유 공급자가 가장 많은 비용이 발생하는 열린 수신자를 묻습니다.
공급자에 데이터 구체화 요금이 청구되면 공급자만 쿼리 결과를 볼 수 있습니다. 받는 사람에게 데이터 구체화 요금이 청구되면 받는 사람만 쿼리 결과를 볼 수 있습니다.
델타 공유 특성 및 비용이 발생하는 방법에 대한 자세한 내용은 델타 공유 비용을 발생시키고 확인하는 방법을 참조하세요.
델타 공유 수신자가 공유 뷰를 쿼리하는 데 사용된 DBU 수를 묻습니다.
"... 인스턴스를 귀하의 정보로 대체하십시오."
SELECT
SUM(bu.usage_quantity)
FROM
system.billing.usage bu
INNER JOIN
system.sharing.materialization_history dm
ON
dm.sharing_materialization_id = bu.usage_metadata.sharing_materialization_id
WHERE
bu.billing_origin_product = 'DATA_SHARING' AND
dm.share_name = '...' AND
dm.schema_name = '...' AND
dm.table_name IN (...);
델타 공유 받는 사람이 가장 많이 사용량을 쿼리한 공급자를 묻습니다.
SELECT
SUM(bu.usage_quantity) AS total_usage,
dm.provider_name
FROM
system.billing.usage bu
INNER JOIN
system.sharing.materialization_history dm
ON
dm.sharing_materialization_id = bu.usage_metadata.sharing_materialization_id
WHERE
bu.billing_origin_product = 'DATA_SHARING'
GROUP BY
dm.provider_name
ORDER BY
total_usage DESC;
델타 공유 제공자가 열린 수신자에 대한 뷰 필터링에 사용된 DBU 수를 묻습니다.
SELECT
SUM(bu.usage_quantity)
FROM
system.billing.usage bu
INNER JOIN
system.sharing.materialization_history dm
ON
dm.sharing_materialization_id = bu.usage_metadata.sharing_materialization_id
INNER JOIN
system.information_schema.table_share_usage tsu
ON
dm.share_name = tsu.share_name AND
dm.schema_name = tsu.schema_name AND
dm.table_name = tsu.table_name
INNER JOIN
system.information_schema.tables t
ON
t.table_catalog = tsu.catalog_name AND
t.table_schema = tsu.schema_name AND
t.table_name = tsu.table_name
WHERE
bu.billing_origin_product = 'DATA_SHARING' AND
t.table_type = 'VIEW';
델타 공유 공급자가 가장 많은 비용이 발생하는 열린 수신자를 묻습니다.
SELECT
SUM(usage_quantity) AS usage,
srp.recipient_name
FROM
system.billing.usage bu
INNER JOIN
system.sharing.materialization_history dm
ON
dm.sharing_materialization_id = bu.usage_metadata.sharing_materialization_id
INNER JOIN system.information_schema.share_recipient_privileges srp
ON
srp.share_name = dm.share_name
WHERE
bu.billing_origin_product = 'DATA_SHARING'
GROUP BY
srp.recipient_name
ORDER BY
usage DESC
LIMIT 1;