Copie de données à partir d’une zone de préparation Azure

Chargez les données de vos fichiers en zone de préparation dans la table cible.

Dans ce chapitre :

Chargement de vos données

Exécutez COPY INTO <table> pour charger vos données dans la table cible.

Note

Le chargement des données nécessite un entrepôt. Si vous utilisez un entrepôt qui n’est pas configuré pour la reprise automatique, exécutez ALTER WAREHOUSE pour reprendre l’entrepôt. Notez que le démarrage de l’entrepôt peut prendre jusqu’à cinq minutes.

ALTER WAREHOUSE mywarehouse RESUME;

L’exemple suivant charge les données à partir des fichiers de la zone de préparation nommée my_azure_stage créée dans Création d’une zone de préparation Azure. En utilisant des critères spéciaux, l’instruction ne charge que les fichiers dont le nom commence par la chaîne sales :

COPY INTO mytable
  FROM @my_azure_stage
  PATTERN='.*sales.*.csv';

Notez que les options de format de fichier ne sont pas spécifiées, car un format de fichier nommé a été inclus dans la définition de la zone de préparation.

L’exemple suivant charge tous les fichiers préfixés avec data/files dans votre conteneur Azure en utilisant le format de fichier nommé my_csv_format créé dans Préparation du chargement des données :

COPY INTO mytable
  FROM 'azure://myaccount.blob.core.windows.net/mycontainer/data/files'
  CREDENTIALS=(AZURE_SAS_TOKEN='?sv=2016-05-31&ss=b&srt=sco&sp=rwdl&se=2018-06-27T10:05:50Z&st=2017-06-27T02:05:50Z&spr=https,http&sig=bgqQwoXwxzuD2GJfagRg7VOS8hzNr3QLT7rhS8OFRLQ%3D')
  ENCRYPTION=(TYPE='AZURE_CSE' MASTER_KEY = 'kPxX0jzYfIamtnJEUTHwq80Au6NbSgPH5r4BDDwOaO8=')
  FILE_FORMAT = (FORMAT_NAME = my_csv_format);

L’exemple ad hoc suivant charge les données de tous les fichiers du conteneur Azure. La commande COPY spécifie les options de format de fichier au lieu de faire référence à un format de fichier nommé. Cet exemple charge des fichiers CSV avec un délimiteur de champ de type barre verticale (|). La commande COPY ignore la première ligne des fichiers de données :

COPY INTO mytable
  FROM 'azure://myaccount.blob.core.windows.net/mycontainer/data/files'
  CREDENTIALS=(AZURE_SAS_TOKEN='?sv=2016-05-31&ss=b&srt=sco&sp=rwdl&se=2018-06-27T10:05:50Z&st=2017-06-27T02:05:50Z&spr=https,http&sig=bgqQwoXwxzuD2GJfagRg7VOS8hzNr3QLT7rhS8OFRLQ%3D')
  ENCRYPTION=(TYPE='AZURE_CSE' MASTER_KEY = 'kPxX0jzYfIamtnJEUTHwq80Au6NbSgPH5r4BDDwOaO8=')
  FILE_FORMAT = (TYPE = CSV FIELD_DELIMITER = '|' SKIP_HEADER = 1);

Validation de vos données

Avant de charger vos données, vous pouvez vérifier que les données contenues dans les fichiers chargés se chargeront correctement.

Pour valider les données dans un fichier chargé, exécutez COPY INTO <table> en mode validation en utilisant le paramètre VALIDATION_MODE. Le paramètre VALIDATION_MODE renvoie les erreurs qu’il rencontre dans le fichier. Vous pouvez ensuite modifier les données dans le fichier pour vous assurer qu’il se charge sans erreur.

De plus, COPY INTO <table> fournit l’option de copie ON_ERROR pour spécifier une action à effectuer si des erreurs sont rencontrées dans un fichier pendant le chargement.

Surveillance des charges de données

Snowflake conserve seulement les données historiques pour les commandes COPY INTO exécutées durant les 14 derniers jours. Les métadonnées peuvent être utilisées pour surveiller et gérer le processus de chargement, y compris la suppression des fichiers une fois le chargement terminé :

  • Surveillez le statut de chaque commande COPY INTO <table> sur la page History History tab de l’interface Web de Snowflake.

  • Utilisez la vue Information Schema LOAD_HISTORY pour récupérer l’historique des données chargées dans les tables en utilisant la commande COPY INTO.