Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Esta página descreve o esquema da tabela de resultados de classificação de dados e inclui consultas de exemplo. A tabela armazena detecções para classes de dados confidenciais ao nível da coluna em catálogos ativados no seu metastore.
Caminho da tabela: system.data_classification.results
Esquema da tabela de resultados de classificação de dados
A tabela do sistema de resultados de classificação de dados usa o seguinte esquema:
| Nome da coluna | Tipo de dados | Description | Example |
|---|---|---|---|
latest_detected_time |
carimbo de data/hora | Horário em que a coluna foi digitalizada pela última vez. | 2025-06-27T12:34 |
first_detected_time |
carimbo de data/hora | Momento em que a deteção da coluna foi registrada pela primeira vez. | 2025-06-27T12:34 |
catalog_id |
cadeia (de caracteres) | ID do catálogo. | 3f1a7d6e-9c59-... |
table_id |
cadeia (de caracteres) | ID da tabela. | 3f1a7d6e-9c59-... |
catalog_name |
cadeia (de caracteres) | Nome do catálogo. | main_catalog |
schema_name |
cadeia (de caracteres) | Nome do esquema. | public |
table_name |
cadeia (de caracteres) | Nome da tabela. | sales_data |
column_name |
cadeia (de caracteres) | Nome da coluna. | customer_email |
data_type |
cadeia (de caracteres) | Tipo de dados da coluna. Tipos complexos incluem definições completas de estrutura. | struct<name:string, age:int> |
class_tag |
cadeia (de caracteres) | Tag para a entidade detetada ou chave de tag e valor opcional. |
class.us_ssn ou pii: confidential |
samples |
array<string> |
Até cinco valores de amostra que corresponderam à deteção. | ["a@b.com", ...] |
confidence |
cadeia (de caracteres) | Confiança na deteção. Ou HIGH ou LOW |
HIGH |
frequency |
float | Estimativa da proporção de linhas correspondentes na amostra. Entre 0 e 1. | 0.87 |
Exemplos de consultas
Substitua os valores dos parâmetros pelos seus próprios valores antes de executar.
Obter todas as deteções para uma tabela
SELECT *
FROM system.data_classification.results
WHERE
catalog_name = "c"
AND schema_name = "s"
AND table_name = "t";
Obtenha todas as deteções de alta confiança
SELECT *
FROM system.data_classification.results
WHERE
catalog_name = "c"
AND schema_name = "s"
AND table_name = "t"
AND confidence = "HIGH";
Obter o número de tabelas afetadas por uma classificação específica
SELECT
class_tag,
COUNT(DISTINCT catalog_name, schema_name, table_name) AS num_tables
FROM
system.data_classification.results
WHERE
class_tag IS NOT NULL
GROUP BY class_tag;
Obter o número de usuários que consultaram tabelas com dados confidenciais nos últimos 30 dias
WITH table_accesses AS (
SELECT
IFNULL(
request_params.full_name_arg,
CONCAT(request_params.catalog_name, '.', request_params.schema_name, '.', request_params.name)
) AS table_full_name,
COUNT(DISTINCT user_identity.email) AS num_users
FROM
system.access.audit
WHERE
action_name IN ("createTable", "getTable", "updateTable", "deleteTable")
AND (
-- For performance, limit the blast radius of the audit log query to only the current catalog
request_params.catalog_name = :catalog_name OR
request_params.full_name_arg LIKE :catalog_name || '%'
)
AND event_time >= DATE_SUB(current_date(), 30)
GROUP BY table_full_name
),
sensitive_tables AS (
SELECT
DISTINCT CONCAT(catalog_name, '.', schema_name, '.', table_name) AS table_full_name
FROM
system.data_classification.results
WHERE class_tag IS NOT NULL
)
SELECT
st.table_full_name,
ta.num_users
FROM
sensitive_tables st
JOIN table_accesses ta
ON st.table_full_name = ta.table_full_name