- Catégories :
EXTRACT_SEMANTIC_CATEGORIES¶
Renvoie un ensemble de catégories (sémantiques et de confidentialité) pour chaque colonne prise en charge dans la table ou la vue spécifiée. Pour renvoyer les catégories d’une colonne, celle-ci doit utiliser un type de données qui prend en charge la classification et ne contient pas toutes les valeurs NULL.
Les catégories sont dérivées des métadonnées et des données contenues dans les colonnes, ainsi que des métadonnées relatives aux colonnes et aux données. Les catégories de confidentialité reposent sur les catégories sémantiques générées, le cas échéant.
- Voir aussi :
Balises système et catégories et Balises système et catégories
Syntaxe¶
EXTRACT_SEMANTIC_CATEGORIES( '<object_name>' [ , <max_rows_to_scan> ] )
Arguments¶
Obligatoire :
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.
Facultatif :
max_rows_to_scan
La taille de l’échantillon de lignes à utiliser pour déterminer les catégories de classification dans la table/vue spécifiée.
Valeurs valides :
1
à10000
Par défaut :
10000
Renvoie¶
À titre d’exemple représentatif, l’objet JSON a la structure suivante :
{
"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
}
]
}
]
}
Où :
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.
recommendation
Spécifie des informations sur chaque balise et chaque valeur. Informations comprises :
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.
privacy_category
Spécifie la valeur de la balise de catégorie de confidentialité.
Les valeurs possibles sont
IDENTIFIER
,QUASI-IDENTIFIER
etSENSITIVE
.confidence
Cette colonne indique l’une des valeurs suivantes :
HIGH
,MEDIUM
, ouLOW
. 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 peuvent spécifier une valeur de balise géographique pour la balise SEMANTIC_CATEGORY.
alternates
Spécifie des informations sur chaque balise et valeur à prendre en compte autre que la balise recommandée.
Notes sur l’utilisation¶
La fonction requiert un entrepôt en cours d’exécution L’entrepôt peut avoir un impact sur les performances et les coûts. Pour plus de détails, voir la section sur les coûts de calcul de la classification.
Cette fonction n’est plus mise à jour pour coïncider avec les améliorations supplémentaires apportées à la classification des données.
Vous pouvez continuer à utiliser cette fonction comme indiqué dans Utilisation de la classification des données avec les APIs standards.
Cependant, prévoyez de mettre à jour vos workflows comme indiqué dans Classification des données d’utilisation.
Exemples¶
Extraire les catégories sémantiques et de confidentialité pour la table my_db.my_schema.hr_data
en utilisant la valeur par défaut (10000
) pour le nombre de lignes à analyser :
USE ROLE data_engineer; USE WAREHOUSE classification_wh; SELECT EXTRACT_SEMANTIC_CATEGORIES('my_db.my_schema.hr_data');
Identique à l’exemple précédent, mais limité à l’analyse de 5 000 lignes de la table :
USE ROLE data_engineer; SELECT EXTRACT_SEMANTIC_CATEGORIES('my_db.my_schema.hr_data', 5000);
Identique au premier exemple, mais stocke les résultats dans une table :
USE ROLE data_engineer; CREATE OR REPLACE TABLE classification_results(v VARIANT) AS SELECT EXTRACT_SEMANTIC_CATEGORIES('my_db.my_schema.hr_data');Une fois les résultats stockés dans une table, vous pouvez les réexaminer avant d’utiliser ASSOCIATE_SEMANTIC_CATEGORY_TAGS pour les appliquer.