SYSTEM$CLASSIFY

Classifie l’objet spécifié avec la possibilité de spécifier le nombre de lignes à échantillonner et d’attribuer la balise du système de classification des données à chaque colonne de l’objet spécifié.

Syntaxe

CALL SYSTEM$CLASSIFY( '<object_name>' , <arg> )
Copy

Arguments

object_name

Le nom de la table, de la table externe, de la vue ou de la vue matérialisée contenant les colonnes à classifier. Si une base de données et un schéma ne sont pas utilisés dans la session en cours, le nom doit être entièrement qualifié.

Le nom doit être spécifié exactement comme il est stocké dans la base de données. Si le nom contient des caractères spéciaux, des majuscules ou des espaces vides, il doit être placé d’abord entre guillemets doubles, puis entre guillemets simples.

arg

Spécifie un argument pour déterminer comment fonctionne le processus de classification. Un des éléments suivants :

NULL

Snowflake utilise sa configuration par défaut basée sur le nombre de lignes dans l’objet spécifié. Les balises système ne sont définies sur aucune colonne de l’objet spécifié.

{}

Une liste vide, ce qui équivaut fonctionnellement à spécifier NULL.

{'sample_count': integer}

Spécifie le nombre de lignes à échantillonner dans l’objet spécifié. Tout nombre compris entre 1 et 10000 inclus.

{'auto_tag': true}

Définit les balises du système de classification recommandé sur les colonnes de l’objet spécifié lorsque le processus de classification est terminé.

Lorsque vous utilisez cet argument, appelez la procédure stockée avec le rôle qui dispose du privilège OWNERSHIP sur le schéma.

{'sample_count': integer, 'auto_tag': true}

Classifiez l’objet spécifié en spécifiant le nombre de lignes à échantillonner et définissez la balise système recommandée sur chaque colonne de l’objet spécifié lorsque le processus de classification est terminé.

Lorsque vous utilisez cet argument, appelez la procédure stockée avec le rôle qui dispose du privilège OWNERSHIP sur le schéma.

{'use_all_custom_classifiers': true}

Snowflake évalue toutes les instances de classification personnalisées et recommande la balise associée à une instance de classification personnalisée en fonction du résultat de la classification.

Cette option utilise les classificateurs personnalisés accessibles au rôle utilisé qui appelle la procédure stockée (rôle actuel, droits de l’appelant). Pour plus de détails, voir Understanding Caller’s Rights and Owner’s Rights Stored Procedures.

{'custom_classifiers': ['instance_name1' [ , 'instance_name2' ... ] ]}

Spécifie l’instance de classification personnalisée à évaluer comme source pour la balise recommandée à définir sur la colonne.

Vous pouvez spécifier plusieurs instances dans la liste et séparer chaque instance par une virgule.

Renvoie

Renvoie un objet JSON dans le format suivant. Par exemple :

{
  "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": { ... },
    ...
  }
}
Copy

Où :

alternates

Spécifie des informations sur chaque balise et valeur à prendre en compte autre que la balise recommandée.

recommendation

Spécifie des informations sur chaque balise et valeur en tant que premier choix basé sur le processus de classification.

Ces valeurs peuvent apparaître à la fois dans les alternatives et dans la recommandation :

classifier_name

Nom complet de l’instance de classification personnalisée utilisée pour baliser la colonne classifiée.

Ce champ n’apparaît que lorsqu’une instance de classification personnalisée est utilisée comme source de la balise à définir sur une colonne.

confidence

Cette colonne indique l’une des valeurs suivantes : HIGH, MEDIUM, ou LOW. Cette valeur indique la confiance relative que Snowflake a sur la base du processus d’échantillonnage de la colonne et la façon dont les données de la colonne s’alignent sur la manière dont Snowflake classifie les données.

coverage

Spécifie le pourcentage de valeurs de cellules échantillonnées qui correspondent aux règles d’une catégorie particulière.

details

Indique les champs et les valeurs qui font référence à une valeur de balise géographique pour la balise SEMANTIC_CATEGORY.

privacy_category

Spécifie la valeur de la balise de catégorie de confidentialité.

Les valeurs possibles sont IDENTIFIER, QUASI-IDENTIFIER et SENSITIVE.

semantic_category

Spécifie la valeur de la balise de la catégorie sémantique.

Pour connaître les valeurs possibles des balises, voir Balises système et catégories et Balises système et catégories.

valid_value_ratio

Spécifie le ratio des valeurs valides dans la taille de l’échantillon. Les valeurs non valides incluent NULL, une chaîne vide et une chaîne de plus de 256 caractères.

Notes sur l’utilisation

Exemples

Classifier une table :

CALL SYSTEM$CLASSIFY('hr.tables.empl_info', null);
Copy

Classifier une table et spécifiez le nombre de lignes à échantillonner :

CALL SYSTEM$CLASSIFY('hr.tables.empl_info', {'sample_count': 1000});
Copy

Classifier une table et attribuez des balises système aux colonnes :

CALL SYSTEM$CLASSIFY('hr.tables.empl_info', {'auto_tag': true});
Copy

Classifier une table, indiquer le nombre de lignes à échantillonner et attribuer la balise système recommandée à chaque colonne de la table :

CALL SYSTEM$CLASSIFY('hr.tables.empl_info', {'sample_count': 1000, 'auto_tag': true});
Copy