Partager via


Table de référence du système de classification des données

Important

Cette fonctionnalité est disponible en préversion publique.

Cette page présente le schéma de la table de résultats de classification des données et inclut des exemples de requêtes. La table stocke les détections pour les classes de données sensibles au niveau de la colonne dans les catalogues activés dans votre metastore.

Chemin d’accès de la table : system.data_classification.results

Schéma de table de résultats de classification des données

La table système de résultats de classification des données utilise le schéma suivant :

Nom de colonne Type de données Descriptif Example
latest_detected_time horodatage Date/heure à laquelle la colonne a été scannée le plus récemment. 2025-06-27T12:34
first_detected_time horodatage Heure à laquelle la détection de colonne a été enregistrée pour la première fois. 2025-06-27T12:34
catalog_id ficelle ID du catalogue. 3f1a7d6e-9c59-...
table_id ficelle ID de la table. 3f1a7d6e-9c59-...
catalog_name ficelle Nom du catalogue. main_catalog
schema_name ficelle Nom du schéma. public
table_name ficelle Nom de la table. sales_data
column_name ficelle Nom de colonne. customer_email
data_type ficelle Type de données de la colonne. Les types complexes incluent des définitions complètes de struct. struct<name:string, age:int>
class_tag ficelle Balise pour l'entité détectée ou la clé de balise et sa valeur facultative. class.us_ssn ou pii: confidential
samples array<string> Jusqu’à cinq exemples de valeurs correspondant à la détection. ["a@b.com", ...]
confidence ficelle Confiance de la détection. Soit HIGH , soit LOW HIGH
frequency flotter Estimation de la proportion de lignes correspondantes dans l’exemple. Entre 0 et 1. 0.87

Exemples de requêtes

Remplacez les valeurs de paramètre par vos propres valeurs avant d’exécuter.

Obtenir toutes les détections d’une table

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

Obtenez toutes les détections à haute confiance

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

Obtenir le nombre de tables affectées par une classification spécifique

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;

Obtenir le nombre d’utilisateurs qui ont interrogé des tables avec des données sensibles au cours des 30 derniers jours

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