Gestion des tables de répertoire¶
Cette rubrique fournit des instructions pour créer et gérer des zones de préparation externes ou internes avec des tables de répertoire.
Actualisation automatique des métadonnées des tables de répertoire¶
Les métadonnées d’une table de répertoire peuvent être rafraîchies automatiquement à l’aide du service de messagerie 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 des instructions sur la création de zones de préparation avec des tables de répertoire actualisées automatiquement, voir Actualisation automatique des métadonnées des tables de répertoire.
Note
Actuellement, l’actualisation des métadonnées n’est pas disponible pour les tables de répertoire sur des zones de préparation internes, qui font référence à un stockage dans le Cloud. Vous devez actualiser manuellement les métadonnées de la table de répertoire pour ces types de zones de préparation. Pour les instructions, voir Actualisation manuelle d’une table de répertoire (dans cette rubrique).
Pour enregistrer les fichiers manqués, nous suggérons de suivre nos bonnes pratiques pour mettre en zone de préparation vos fichiers de données et d’exécuter de façon intermittente une instruction ALTER STAGE … REFRESH. Pour des performances satisfaisantes, nous vous recommandons également d’utiliser un préfixe de chemin sélectif avec ALTER STAGE. Cela permet de réduire le nombre de fichiers qui doivent être répertoriés et vérifiés pour savoir s’ils ont déjà été enregistrés (par exemple, bucket_name/YYYY/MM/DD/
ou même bucket_name/YYYY/MM/DD/HH/
en fonction de votre volume).
Création d’une zone de préparation avec une table de répertoire¶
Cette section fournit des instructions pour créer des zones de préparation (en utilisant CREATE STAGE) qui superposent une table de répertoire pour stocker des métadonnées sur les fichiers en zone de préparation.
Les tables de répertoire dans les zones de préparation internes nécessitent des actualisations manuelles des métadonnées. Vous pouvez également choisir d’inclure une table de répertoire dans les zones de préparation externes et de rafraîchir les métadonnées manuellement. Pour plus d’informations sur l’actualisation automatique des métadonnées, consultez Actualisation automatique des métadonnées de table de répertoire (dans cette rubrique).
La syntaxe pour créer une zone de préparation avec une table de répertoire est presque identique à la création d’une zone de préparation externe ou interne standard. Définissez le paramètre DIRECTORY facultatif sur TRUE.
Pour une description complète de la syntaxe et des paramètres, voir CREATE STAGE. Pour ajouter une table de répertoire à une zone de préparation existante, utilisez la commande ALTER STAGE … SET DIRECTORY.
Note
Après avoir créé une zone de préparation avec une table de répertoire, vous devez mettre à exécution ALTER STAGE … REFRESH pour actualiser manuellement les métadonnées de la table de répertoire.
Exemples¶
Créez une zone de préparation interne nommée mystage
qui comprend une table de répertoire. La zone de préparation fait référence à un format de fichier nommé myformat
:
CREATE STAGE mystage DIRECTORY = (ENABLE = TRUE) FILE_FORMAT = myformat;
Créez une zone de préparation externe nommée mystage
qui comprend une table de répertoire. La zone de préparation fait référence à un compartiment ou un conteneur nommé load
avec un chemin d’accès aux files
. L’accès sécurisé à l’emplacement de stock dans le Cloud est fourni via l’intégration de stockage my_storage_int
:
Note
L’emplacement de stockage dans la valeur d’URL doit se terminer par une barre oblique (/
).
Amazon S3
CREATE STAGE mystage
URL='s3://load/files/'
STORAGE_INTEGRATION = my_storage_int
DIRECTORY = (ENABLE = TRUE);
Google Cloud Storage
CREATE STAGE mystage
URL='gcs://load/files/'
STORAGE_INTEGRATION = my_storage_int
DIRECTORY = (ENABLE = TRUE);
Microsoft Azure
CREATE STAGE mystage
URL='azure://myaccount.blob.core.windows.net/load/files/'
STORAGE_INTEGRATION = my_storage_int
DIRECTORY = (ENABLE = TRUE);
Actualisation manuelle d’une table de répertoire¶
Actualiser manuellement les métadonnées d’une table de répertoire à l’aide de la commande ALTER STAGE.
Note
L’actualisation manuelle des métadonnées sur une zone de préparation externe empêche toute opération d’actualisation automatisée de se produire en même temps. Les actualisations automatisées reprennent dès que l’actualisation manuelle est terminée.
Par exemple :
ALTER STAGE mystage REFRESH;