Pular para o conteúdo principal

Referência de tabela do sistema de classificação de dados

info

Beta

Este recurso está em Beta.

Esta página descreve o esquema da tabela de resultados da classificação de dados e inclui consultas de exemplo. A tabela armazena detecções para classes de dados confidenciais no nível da coluna em catálogos habilitados no seu metastore.

Caminho da tabela : system.data_classification.results

Esquema da tabela de resultados da 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

Descrição

Exemplo

latest_detected_time

carimbo de data/hora

No momento em que a coluna foi escaneada mais recentemente.

2025-06-27T12:34

first_detected_time

carimbo de data/hora

Horário em que a detecção da coluna foi registrada pela primeira vez.

2025-06-27T12:34

catalog_id

string

ID do catálogo.

3f1a7d6e-9c59-...

table_id

string

ID da tabela.

3f1a7d6e-9c59-...

catalog_name

string

Nome do catálogo.

main_catalog

schema_name

string

Nome do esquema.

public

table_name

string

Nome da tabela.

sales_data

column_name

string

Nome da coluna.

customer_email

data_type

string

Tipo de dados da coluna. Tipos complexos incluem definições de struct completas.

struct<name:string, age:int>

class_tag

string

tag para a entidade detectada ou key tag e valor opcional.

class.us_ssn ou pii: confidential

samples

array<string>

Até cinco valores de amostra que corresponderam à detecção.

["a@b.com", ...]

confidence

string

Confiança de detecção. Ou HIGH ou LOW

HIGH

frequency

Float

Estimativa da proporção de linhas correspondentes na amostra. Entre 0 e 1.

0.87

Consultas de exemplo

Substitua os valores dos parâmetros pelos seus antes de executar.

Obter todas as detecções para uma tabela

SQL
SELECT *
FROM system.data_classification.results
WHERE
catalog_name = "c"
AND schema_name = "s"
AND table_name = "t";

Obtenha todas as detecções de alta confiança

SQL
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 impactadas por uma classificação específica

SQL
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;

Obtenha o número de usuários que consultaram tabelas com dados confidenciais nos últimos 30 dias

SQL
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