Gestion des tables de répertoires

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 de table 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;
Copy

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);
Copy

Google Cloud Storage

CREATE STAGE mystage
  URL='gcs://load/files/'
  STORAGE_INTEGRATION = my_storage_int
  DIRECTORY = (ENABLE = TRUE);
Copy

Microsoft Azure

CREATE STAGE mystage
  URL='azure://myaccount.blob.core.windows.net/load/files/'
  STORAGE_INTEGRATION = my_storage_int
  DIRECTORY = (ENABLE = TRUE);
Copy

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;
Copy