Kategorien:

Systemfunktionen

EXTRACT_SEMANTIC_CATEGORIES

Gibt eine Menge von Kategorien (semantisch und privat) für jede unterstützte Spalte der angegebenen Tabelle oder Ansicht zurück. Um die Kategorien für eine Spalte zurückzugeben, muss die Spalte einen Datentyp verwenden, der die Klassifizierung unterstützt und nicht durchgängig NULL-Werte enthält.

Die Kategorien werden aus den in den Spalten enthaltenen Metadaten und Daten sowie aus den Metadaten zu den Spalten und Daten abgeleitet. Die Datenschutzkategorien stützen sich auf die generierten semantischen Kategorien, sofern vorhanden.

Siehe auch:

System-Tags und Kategorien und System-Tags und Kategorien

Syntax

EXTRACT_SEMANTIC_CATEGORIES( '<object_name>' [ , <max_rows_to_scan> ] )
Copy

Argumente

Erforderlich:

object_name

Der Name der Tabelle, der externen Tabelle, der Ansicht oder der materialisierten Ansicht, die die zu klassifizierenden Spalten enthält. Wenn in der aktuellen Sitzung weder Datenbank noch Schema verwendet werden, muss der Name vollqualifiziert sein.

Der Name muss genau so angegeben werden, wie er in der Datenbank gespeichert ist. Enthält der Name Sonderzeichen, Großbuchstaben oder Leerzeichen, muss der Name zuerst in Anführungszeichen und dann in einfache Anführungszeichen gesetzt werden.

Optional:

max_rows_to_scan

Der Stichprobenumfang der Zeilen, die für die Bestimmung der Klassifizierungskategorien in der angegebenen Tabelle/Ansicht verwendet werden sollen.

Gültige Werte: 1 bis 10000

Standard: 10000

Rückgabewerte

Als repräsentatives Beispiel hat das JSON-Objekt die folgende Struktur:

{
  "valid_value_ratio": 1.0,
  "recommendation": {
    "semantic_category": "PASSPORT",
    "privacy_category": "IDENTIFIER",
    "confidence": "HIGH",
    "coverage": 0.7,
    "details": [
      {
        "semantic_category": "US_PASSPORT",
        "coverage": 0.7
      },
      {
        "semantic_category": "CA_PASSPORT",
        "coverage": 0.1
      }
    ]
  },
  "alternates": [
    {
      "semantic_category": "NATIONAL_IDENTIFIER",
      "privacy_category": "IDENTIFIER",
      "confidence": "LOW",
      "coverage": 0.3,
      "details": [
        {
          "semantic_category": "US_SSN",
          "privacy_category": "IDENTIFIER",
          "coverage": 0.3
        }
      ]
    }
  ]
}
Copy

Wobei:

valid_value_ratio

Gibt das Verhältnis der gültigen Werte im Stichprobenumfang an. Zu den ungültigen Werten zählen NULL, leere Zeichenfolgen und Zeichenfolgen mit mehr als 256 Zeichen.

recommendation

Gibt Informationen zu jedem Tag und Wert an. Zu diesen Informationen gehören:

semantic_category

Gibt den Wert des semantischen Kategorie-Tags an.

Informationen zu den möglichen Tag-Werten finden Sie unter System-Tags und Kategorien und System-Tags und Kategorien.

privacy_category

Gibt den Wert des Datenschutzkategorie-Tags an.

Mögliche Werte sind IDENTIFIER, QUASI-IDENTIFIER und SENSITIVE.

confidence

Gibt einen der folgenden Werte an: HIGH, MEDIUM oder LOW. Dieser Wert gibt die relative Vertrauenswürdigkeit an, die Snowflake auf Grundlage des Spalten-Sampling-Prozesses hat, und wie die Spaltendaten mit der von Snowflake vorgenommenen Klassifizierung der Daten übereinstimmen.

coverage

Gibt den Prozentsatz der Stichprobenwerte in den Zellen an, die mit den Regeln einer bestimmten Kategorie übereinstimmen.

details

Gibt die Felder und Werte an, die einen geografischen Tag-Wert für das Tag SEMANTIC_CATEGORY angeben können.

alternates

Gibt Informationen zu allen Tags und Werten an, die abgesehen vom empfohlenen Tag berücksichtigt werden sollen.

Nutzungshinweise

Beispiele

Extrahieren Sie die semantischen und privaten Kategorien für die Tabelle my_db.my_schema.hr_data unter Verwendung der Standardeinstellung (10000) für die Anzahl der zu scannenden Zeilen:

USE ROLE data_engineer;

USE WAREHOUSE classification_wh;

SELECT EXTRACT_SEMANTIC_CATEGORIES('my_db.my_schema.hr_data');
Copy

Wie das vorherige Beispiel, aber nun mit der Einschränkung, dass nur 5.000 Zeilen in der Tabelle durchsucht werden:

USE ROLE data_engineer;

SELECT EXTRACT_SEMANTIC_CATEGORIES('my_db.my_schema.hr_data', 5000);
Copy

Wie das erste Beispiel, jedoch werden die Ergebnisse in einer Tabelle gespeichert:

USE ROLE data_engineer;

CREATE OR REPLACE TABLE classification_results(v VARIANT) AS
  SELECT EXTRACT_SEMANTIC_CATEGORIES('my_db.my_schema.hr_data');
Copy

Sobald die Ergebnisse in einer Tabelle gespeichert sind, können Sie sie überarbeiten, bevor Sie ASSOCIATE_SEMANTIC_CATEGORY_TAGS verwenden, um sie anzuwenden.