Tables de répertoire¶
Cette rubrique présente les concepts clés, fournit des informations complémentaires et renvoie à des instructions pour l’utilisation des tables de répertoire.
Dans ce chapitre :
Qu’est-ce qu’une table de répertoire ?¶
Une table de répertoire est un objet implicite superposé sur une zone de préparation (et non un objet de base de données distinct) et est conceptuellement similaire à une table externe car elle stocke des métadonnées au niveau des fichiers sur les fichiers de données de la zone de préparation. Une table de répertoire n’a pas de privilèges propres à accorder.
Les zones de préparation externes (stockage Cloud externe) et internes (Snowflake) prennent en charge les tables de répertoire. Vous pouvez ajouter une table de répertoire à une zone de préparation lorsque vous créez une zone de préparation (à l’aide de CREATE STAGE) ou ultérieurement (à l’aide de ALTER STAGE).
En particulier, vous pouvez utiliser une table de répertoire pour accomplir les tâches de données non structurées suivantes :
Interrogez une liste de tous les fichiers non structurés d’une zone de préparation. Vous pouvez interroger une table de répertoire pour récupérer une liste de tous les fichiers d’une zone de préparation. Le résultat de la requête contient des informations sur chaque fichier, notamment sa taille, l’horodatage de sa dernière modification et son URL de fichier Snowflake.
Créez des vues de données non structurées. Vous pouvez joindre une table de répertoire à une table Snowflake contenant des données et des métadonnées supplémentaires sur les fichiers non structurés pour afficher les fichiers non structurés et leurs données associées dans une seule vue.
Créez un pipeline de traitement de fichiers. Vous pouvez utiliser une table de répertoire avec l’API de Snowpark ou des fonctions externes pour créer un pipeline de traitement de fichiers.
Actualisation automatique des métadonnées des tables de répertoire¶
Les métadonnées d’une table de répertoire peuvent être actualisées automatiquement à l’aide du service de notification d’événements de votre service de stockage dans le Cloud. L’opération d’actualisation synchronise les métadonnées avec le dernier ensemble de fichiers associés dans la zone de préparation et le chemin externes, c’est-à-dire :
Les nouveaux fichiers dans le chemin sont ajoutés aux métadonnées de la table.
Les modifications apportées aux fichiers dans le chemin sont mises à jour dans les métadonnées de la table.
Les fichiers qui ne figurent plus dans le chemin sont supprimés des métadonnées de la table.
Pour plus d’informations, voir Actualisation automatique des métadonnées des tables de répertoire.
Facturation de tables de répertoire¶
Les frais de gestion des notifications d’événements pour l’actualisation automatique des métadonnées de tables de répertoire sont inclus dans vos charges. Ces frais généraux augmentent en fonction du nombre de fichiers ajoutés dans le stockage Cloud pour vos zones de préparation qui incluent des tables de répertoire. Ces frais généraux apparaissent comme des frais de Snowpipe dans votre relevé de facturation parce que Snowpipe est utilisé pour les notifications d’événements pour les rafraîchissements automatiques des tables de répertoires. Vous pouvez estimer ces frais en interrogeant la fonction PIPE_USAGE_HISTORY ou en examinant la page Vue PIPE_USAGE_HISTORY Account Usage.
En outre, une petite surcharge de maintenance est facturée pour l’actualisation manuelle des métadonnées de tables de répertoire (en utilisant ALTER STAGE … REFRESH). Ces frais généraux sont facturés conformément au modèle standard de facturation des services Cloud, comme toutes les activités similaires dans Snowflake.
Les utilisateurs ayant le rôle ACCOUNTADMIN ou un rôle avec le privilège global MONITOR USAGE peuvent interroger la fonction de table AUTO_REFRESH_REGISTRATION_HISTORY pour récupérer l’historique des fichiers de données enregistrés dans les métadonnées des objets spécifiés et les crédits facturés pour ces opérations.
Conditions de contrôle d’accès des tables de répertoire¶
La table suivante résume les privilèges de zone de préparation dont vous avez besoin pour exécuter les commandes SQL courantes lorsque vous travaillez avec des tables de répertoire.
Fonctionnement |
Type d’objet |
Privilège requis |
---|---|---|
Récupérez les URLs de fichier d’une table de répertoire à l’aide d’une instruction SELECT FROM DIRECTORY. |
Zone de préparation |
L’un des éléments suivants, en fonction du type de zone de préparation :
|
Chargez les données à l’aide de la commande PUT. |
Zone de préparation (interne uniquement) |
Un rôle de compte ou de base de données avec le privilège WRITE sur la zone de préparation. |
Supprimez des fichiers à l’aide de la commande REMOVE. |
Zone de préparation |
L’un des éléments suivants, en fonction du type de zone de préparation :
|
Actualisez les métadonnées à l’aide de la commande ALTER STAGE. |
Zone de préparation |
L’un des éléments suivants, en fonction du type de zone de préparation :
|
Schéma d’information¶
Snowflake Schéma d’information de Snowflake comprend des fonctions de table que vous pouvez interroger pour récupérer des informations sur vos tables de répertoire.
Fonctions de table¶
- AUTO_REFRESH_REGISTRATION_HISTORY
Récupérez l’historique des fichiers de données enregistrés dans les métadonnées des objets spécifiés et les crédits facturés pour ces opérations.
- STAGE_DIRECTORY_FILE_REGISTRATION_HISTORY
Récupérez des informations sur l’historique des métadonnées d’une table de répertoire, y compris les erreurs détectées lors de l’actualisation des métadonnées.
Chapitres suivants :