SYSTEM$CLASSIFY_SCHEMA¶
Classifie les tables du schéma spécifié avec la possibilité de spécifier le nombre de lignes à échantillonner dans chaque table et d’attribuer la balise du système de classification des données à chaque colonne des tables stockées dans le schéma spécifié.
Une fois que la procédure stockée a terminé son exécution, vous devez finir de classifier les tables en utilisant SQL ou Snowsight comme indiqué dans Classification des données d’utilisation.
Syntaxe¶
CALL SYSTEM$CLASSIFY_SCHEMA( '<object_name>' , <arg> )
Arguments¶
object_name
Nom du schéma contenant les tables à 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
et10000
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¶
La procédure stockée renvoie un objet JSON dans le format suivant. Par exemple :
{
"failed": [
{
"message": "Insufficient privileges.",
"table_name": "t4"
}
],
"succeeded": [
{
"table_name": "t1"
},
{
"table_name": "t2"
},
{
"table_name": "t3"
}
]
}
Où :
failed
Spécifie un message expliquant pourquoi la classification de la table n’a pas été programmée.
succeeded
Spécifie chaque table qui a été mise en zone de préparation pour la classification des données.
Notes sur l’utilisation¶
Le nom du schéma spécifié peut contenir jusqu’à 1 000 objets de table. Si le schéma contient plus de 1 000 objets de table, Snowflake renvoie un message d’erreur.
Les procédures stockées définies globalement utilisent les droits de l’appelant. Pour plus de détails, voir Understanding Caller’s Rights and Owner’s Rights Stored Procedures.
Si vous souhaitez appliquer d’autres valeurs de balises système, utilisez une instruction ALTER TABLE … MODIFY COLUMN … SET TAG pour mettre à jour la valeur de la balise.
Pour supprimer une balise du système de classification d’une colonne, utilisez une instruction ALTER TABLE … MODIFY COLUMN … UNSET TAG.
Exemples¶
Mettre en zone de préparation la classification des tables dans le schéma :
CALL SYSTEM$CLASSIFY_SCHEMA('hr.tables', null);
Mettre en zone de préparation la classification des tables dans le schéma et spécifier le nombre de lignes à échantillonner :
CALL SYSTEM$CLASSIFY_SCHEMA('hr.tables.empl_info', {'sample_count': 1000});
Mettre en zone de préparation la classification des tables dans le schéma et attribuez les balises système aux colonnes :
CALL SYSTEM$CLASSIFY_SCHEMA('hr.tables.empl_info', {'auto_tag': true});
Mettre en zone de préparation la classification des tables dans le schéma, spécifier le nombre de lignes à échantillonner et définir la balise système recommandée pour chaque colonne de la table :
CALL SYSTEM$CLASSIFY_SCHEMA('hr.tables.empl_info', {'sample_count': 1000, 'auto_tag': true});