Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En esta página se describe el esquema de la tabla de resultados de clasificación de datos e incluye consultas de ejemplo. La tabla almacena detecciones para las clases de datos confidenciales a nivel de columna en los catálogos habilitados en el metastore.
Ruta de acceso de tabla: system.data_classification.results
Esquema de tabla de resultados de clasificación de datos
La tabla del sistema de resultados de clasificación de datos usa el esquema siguiente:
| Nombre de la columna | Tipo de dato | Description | Example |
|---|---|---|---|
latest_detected_time |
marca de tiempo | Momento en el que se escaneó la columna por última vez. | 2025-06-27T12:34 |
first_detected_time |
marca de tiempo | Hora en que se registró por primera vez la detección de columnas. | 2025-06-27T12:34 |
catalog_id |
cuerda / cadena | Id. del catálogo. | 3f1a7d6e-9c59-... |
table_id |
cuerda / cadena | ID de la tabla. | 3f1a7d6e-9c59-... |
catalog_name |
cuerda / cadena | Nombre del catálogo. | main_catalog |
schema_name |
cuerda / cadena | Nombre del esquema. | public |
table_name |
cuerda / cadena | Nombre de la tabla. | sales_data |
column_name |
cuerda / cadena | Nombre de columna. | customer_email |
data_type |
cuerda / cadena | Tipo de datos de la columna. Los tipos complejos incluyen definiciones de estructura completas. | struct<name:string, age:int> |
class_tag |
cuerda / cadena | Etiqueta para la entidad detectada o la clave de etiqueta y el valor opcional. |
class.us_ssn o pii: confidential |
samples |
array<string> |
Hasta cinco valores de ejemplo que coinciden con la detección. | ["[email protected]", ...] |
confidence |
cuerda / cadena | Confianza de la detección. Ya sea HIGH o LOW |
HIGH |
frequency |
flotante | Estimación de la proporción de filas coincidentes en el ejemplo. Entre 0 y 1. | 0.87 |
Consultas de ejemplo
Reemplace los valores de parámetro por los suyos propios antes de ejecutarse.
Obtén todas las detecciones de una tabla
SELECT *
FROM system.data_classification.results
WHERE
catalog_name = "c"
AND schema_name = "s"
AND table_name = "t";
Obtener todas las detecciones con alta confianza
SELECT *
FROM system.data_classification.results
WHERE
catalog_name = "c"
AND schema_name = "s"
AND table_name = "t"
AND confidence = "HIGH";
Obtener el número de tablas afectadas por una clasificación 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;
Obtener el número de usuarios que consultaron tablas con datos confidenciales en los últimos 30 días
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