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 :

Actualisation automatique des métadonnées de table 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 des 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.

Exigences en matière de contrôle d’accès pour les 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 :

  • Zone de préparation interne : un rôle de compte ou de base de données avec le privilège READ sur la zone de préparation.

  • Zone de préparation externe : un rôle de compte ou de base de données avec le privilège USAGE sur la 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 :

  • Zone de préparation interne : un rôle de compte ou de base de données avec le privilège WRITE sur la zone de préparation.

  • Zone de préparation externe : un rôle de compte ou de base de données avec le privilège USAGE sur la 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 :

  • Zone de préparation interne : un rôle de compte ou de base de données avec le privilège WRITE sur la zone de préparation.

  • Zone de préparation externe : un rôle de compte ou de base de données avec le privilège USAGE sur la 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 :