Utilisation d’un manifeste pour spécifier les fichiers de données - Amazon Redshift

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Utilisation d’un manifeste pour spécifier les fichiers de données

Vous pouvez utiliser un manifeste pour vous assurer que la COPY commande charge tous les fichiers requis, et uniquement les fichiers requis, pour un chargement de données. Vous pouvez utiliser un manifeste pour charger les fichiers de différents compartiments ou les fichiers qui ne partagent pas le même préfixe. Au lieu de fournir un chemin d'objet pour la COPY commande, vous indiquez le nom d'un fichier texte JSON au format -formaté qui répertorie explicitement les fichiers à charger. Le URL manifeste doit spécifier le nom du compartiment et le chemin complet de l'objet pour le fichier, et pas simplement un préfixe.

Pour plus d'informations sur les fichiers manifestes, consultez l'COPYexemple Utilisation d'un manifeste pour spécifier des fichiers de données.

L'exemple suivant montre comment charger des fichiers JSON à partir de différents compartiments et dont les noms de fichiers commencent par des horodatages.

{ "entries": [ {"url":"s3://amzn-s3-demo-bucket1/2013-10-04-custdata", "mandatory":true}, {"url":"s3://amzn-s3-demo-bucket1/2013-10-05-custdata", "mandatory":true}, {"url":"s3://amzn-s3-demo-bucket2/2013-10-04-custdata", "mandatory":true}, {"url":"s3://amzn-s3-demo-bucket2/2013-10-05-custdata", "mandatory":true} ] }

L'mandatoryindicateur facultatif indique si une erreur COPY doit être renvoyée si le fichier n'est pas trouvé. La valeur par défaut de mandatory est false. Indépendamment des paramètres obligatoires, COPY se terminera si aucun fichier n'est trouvé.

L'exemple suivant exécute la COPY commande avec le manifeste de l'exemple précédent, qui est nommécust.manifest.

COPY customer FROM 's3://amzn-s3-demo-bucket/cust.manifest' IAM_ROLE 'arn:aws:iam::0123456789012:role/MyRedshiftRole' MANIFEST;

À l'aide d'un manifeste créé par UNLOAD

Un manifeste créé par une UNLOAD opération utilisant le MANIFEST paramètre peut contenir des clés qui ne sont pas requises pour l'COPYopération. Par exemple, le manifeste UNLOAD suivant comprend une clé meta qui est requise pour une table externe Amazon Redshift Spectrum et pour charger des fichiers de données au format ORC ou Parquet. La clé meta contient une clé content_length avec une valeur correspondant à la taille réelle du fichier en octets. L'COPYopération nécessite uniquement la url clé et une mandatory clé optionnelle.

{ "entries": [ {"url":"s3://amzn-s3-demo-bucket/unload/manifest_0000_part_00", "meta": { "content_length": 5956875 }}, {"url":"s3://amzn-s3-demo-bucket/unload/unload/manifest_0001_part_00", "meta": { "content_length": 5997091 }} ] }

Pour plus d’informations sur les fichiers manifeste, consultez Example: COPY from Amazon S3 using a manifest.