SYSTEM$CLASSIFY¶
Klassifiziert das angegebene Objekt mit der Option zum Angeben der Anzahl der Zeilen in der Stichprobe und zum Zuweisen des empfohlenen Datenklassifizierungs-System-Tags zu jeder Spalte des angegebenen Objekts.
Syntax¶
CALL SYSTEM$CLASSIFY( '<object_name>' , <arg> )
Argumente¶
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.
arg
Gibt ein Argument an, um zu bestimmen, wie der Klassifizierungsprozess funktioniert. Eine der folgenden Optionen:
NULL
Snowflake verwendet seine Standardkonfiguration auf Grundlage der Anzahl der Zeilen im angegebenen Objekt. System-Tags sind für keine der Spalten des angegebenen Objekts festgelegt.
{}
Eine leere Liste, die funktional der Angabe von
NULL
entspricht.{'sample_count': integer}
Gibt die Anzahl der Zeilen in der Stichprobe für das angegebene Objekt. Jede Zahl von
1
bis10000
, einschließlich.{'auto_tag': true}
Legt die empfohlenen Klassifizierungs-System-Tags für die Spalten des angegebenen Objekts fest, wenn der Klassifizierungsprozess abgeschlossen ist.
Wenn Sie dieses Argument verwenden, rufen Sie die gespeicherte Prozedur mit der Rolle auf, die die OWNERSHIP-Berechtigung für das Schema hat.
{'sample_count': integer, 'auto_tag': true}
Klassifizieren Sie das angegebene Objekt unter Angabe der Anzahl der Zeilen in der Stichprobe, und setzen Sie nach Abschluss des Klassifizierungsprozesses das empfohlene System-Tag auf jede Spalte des angegebenen Objekts.
Wenn Sie dieses Argument verwenden, rufen Sie die gespeicherte Prozedur mit der Rolle auf, die die OWNERSHIP-Berechtigung für das Schema hat.
{'use_all_custom_classifiers': true}
Snowflake wertet alle benutzerdefinierten Klassifizierungsinstanzen aus und empfiehlt auf Grundlage des Klassifizierungsergebnisses das Tag, das mit einer kundenspezifischen Klassifizierungsinstanz verbunden werden soll.
Bei dieser Option werden die kundenspezifischen Klassifikatoren verwendet, auf die die Rolle Zugriff hat, mit der die gespeicherte Prozedur aufgerufen wird (aktuelle Rolle, Aufruferrechte). Weitere Details dazu finden Sie unter Understanding Caller’s Rights and Owner’s Rights Stored Procedures.
{'custom_classifiers': ['instance_name1' [ , 'instance_name2' ... ] ]}
Gibt die zu evaluierende Instanz der kundenspezifischen Klassifizierung als Quelle für das empfohlene Tag an, auf das die Spalte gesetzt werden soll.
Sie können mehrere Instanzen in der Liste angeben und jede Instanz durch ein Komma trennen.
Rückgabewerte¶
Gibt ein JSON-Objekt im folgenden Format zurück. Beispiel:
{
"classification_result": {
"col1_name": {
"alternates": [],
"recommendation": {
"confidence": "HIGH",
"coverage": 1,
"details": [
{
"coverage": 1,
"semantic_category": "US_PASSPORT"
}
],
"privacy_category": "IDENTIFIER",
"semantic_category": "PASSPORT"
},
"valid_value_ratio": 1
},
"col2_name": { ... },
...
}
}
Wobei:
alternates
Gibt Informationen zu allen Tags und Werten an, die abgesehen vom empfohlenen Tag berücksichtigt werden sollen.
recommendation
Gibt Informationen zu jedem Tag und Wert als primäre Wahl auf Grundlage des Klassifizierungsprozesses an.
Diese Werte können sowohl in den Alternativen als auch in der Empfehlung angezeigt werden:
classifier_name
Der vollqualifizierte Name der kundenspezifischen Klassifizierungsinstanz, der zum Tagging der klassifizierten Spalte verwendet wurde.
Dieses Feld wird nur angezeigt, wenn eine kundenspezifische Klassifizierungsinstanz als Quelle für das auf eine Spalte zu setzende Tag verwendet wird.
confidence
Gibt einen der folgenden Werte an:
HIGH
,MEDIUM
oderLOW
. 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 auf einen geografischen Tag-Wert für das Tag SEMANTIC_CATEGORY verweisen können.
privacy_category
Gibt den Wert des Datenschutzkategorie-Tags an.
Mögliche Werte sind
IDENTIFIER
,QUASI-IDENTIFIER
undSENSITIVE
.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.
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.
Nutzungshinweise¶
Bei global definierten gespeicherten Prozeduren werden Aufruferrechte verwendet. Weitere Details dazu finden Sie unter Understanding Caller’s Rights and Owner’s Rights Stored Procedures.
Wenn Sie alternative Werte für das System-Tag verwenden möchten, können Sie mit der ALTER TABLE … MODIFY COLUMN … SET TAG-Anweisung den Tag-Wert aktualisieren.
Um ein Klassifizierungssystem-Tag aus einer Spalte zu entfernen, verwenden Sie eine ALTER TABLE … MODIFY COLUMN … UNSET TAG-Anweisung.
Beispiele¶
Klassifizieren einer Tabelle:
CALL SYSTEM$CLASSIFY('hr.tables.empl_info', null);
Klassifizieren einer Tabelle und Angeben der Anzahl der Zeilen in der Stichprobe:
CALL SYSTEM$CLASSIFY('hr.tables.empl_info', {'sample_count': 1000});
Klassifizieren einer Tabelle und Setzen der System-Tags auf die Spalten:
CALL SYSTEM$CLASSIFY('hr.tables.empl_info', {'auto_tag': true});
Klassifizieren einer Tabelle, dabei Angeben der Anzahl der Zeilen in der Stichprobe und Setzen des empfohlene System-Tags auf jede Spalte der Tabelle:
CALL SYSTEM$CLASSIFY('hr.tables.empl_info', {'sample_count': 1000, 'auto_tag': true});