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.

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 des informations sur les actualisations automatiques des métadonnées, voir actualisations automatiques des métadonnées.

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 des métadonnées de tables de répertoires

Actualisation automatique

Les métadonnées d’une table de répertoire peuvent être actualisées automatiquement à l’aide du service de messagerie d’événements de votre service de stockage dans le Cloud. Pour configurer les actualisations automatiques, voir Actualisation automatique des métadonnées des tables de répertoire.

Actualisation manuelle

Note

  • Les actualisations manuelles sur une zone de préparation externe bloquent les actualisations automatiques simultanées. Les actualisations automatiques reprennent dès que l’actualisation manuelle est terminée.

  • Les actualisations manuelles effectuent une opération de liste sur une zone de préparation et peuvent être lentes ou coûteuses pour les zones de préparation de grande taille ou à croissance rapide. Utilisez plutôt des actualisations automatiques basées sur les événements.

Pour actualiser manuellement les métadonnées d’une table de répertoire, utilisez la commande ALTER STAGE.

Pour une performance optimale, utilisez un SUBPATH sélectif avec ALTER STAGE. Cela permet de réduire le nombre de fichiers à répertorier et à vérifier. Pour en savoir plus sur l’organisation de vos données par chemin, consultez les meilleures pratiques pour la mise en zone de préparation de vos fichiers de données.

Par exemple :

ALTER STAGE my_stage REFRESH SUBPATH = '2024/01/31';
Copy

La commande renvoie les colonnes suivantes :

Colonne

Description

file

Nom du fichier source en zone de préparation et chemin d’accès relatif au fichier.

status

Statut : REGISTERED_NEW, REGISTERED_UPDATE, REGISTER_SKIPPED, REGISTER_FAILED, UNREGISTERED ou UNREGISTER_FAILED.

description

Description détaillée du statut d’enregistrement des fichiers.