Freigeben über


Datenklassifizierungssystemtabellenreferenz

Von Bedeutung

Dieses Feature befindet sich in der Public Preview.

Auf dieser Seite wird das Tabellenschema der Datenklassifizierungsergebnisse beschrieben und Beispielabfragen enthalten. In der Tabelle werden Erkennungen von vertraulichen Datenklassen auf Spaltenebene in aktivierten Katalogen innerhalb Ihres Metastores gespeichert.

Tabellenpfad: system.data_classification.results

Datenklassifizierungsergebnistabellenschema

Die Datenklassifizierungsergebnisse-Systemtabelle verwendet das folgende Schema:

Spaltenname Datentyp Description Example
latest_detected_time Zeitstempel Zeitpunkt, zu dem die Spalte zuletzt gescannt wurde. 2025-06-27T12:34
first_detected_time Zeitstempel Zeitpunkt, zu dem die Spaltenerkennung zum ersten Mal aufgezeichnet wurde. 2025-06-27T12:34
catalog_id Schnur ID des Katalogs. 3f1a7d6e-9c59-...
table_id Schnur ID der Tabelle. 3f1a7d6e-9c59-...
catalog_name Schnur Katalogname. main_catalog
schema_name Schnur Schemaname. public
table_name Schnur Tabellenname. sales_data
column_name Schnur Spaltenname. customer_email
data_type Schnur Datentyp der Spalte. Komplexe Typen enthalten vollständige Strukturdefinitionen. struct<name:string, age:int>
class_tag Schnur Tag für die erkannte Entität oder den Tagschlüssel und optionalen Wert. class.us_ssn oder pii: confidential
samples array<string> Bis zu fünf Beispielwerte, die der Erkennung entsprechen. ["a@b.com", ...]
confidence Schnur Konfidenz der Erkennung. Entweder HIGH oder LOW HIGH
frequency Schweben Schätzung des Anteils der übereinstimmenden Zeilen in der Stichprobe. Zwischen 0 und 1. 0.87

Beispielabfragen

Ersetzen Sie die Parameterwerte durch eigene Werte, bevor Sie das Programm ausführen.

Abrufen sämtlicher Erkennungen für eine Tabelle

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

Abrufen aller Erfassungen mit hoher Vertrauenswürdigkeit

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

Abrufen der Anzahl von Tabellen, die von einer bestimmten Klassifizierung betroffen sind

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;

Abrufen der Anzahl von Benutzern, die Tabellen mit vertraulichen Daten in den letzten 30 Tagen abgefragt haben

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