Je souhaite charger de gros volumes de données depuis Amazon Simple Storage Service (Amazon S3) dans Amazon Redshift et garantir des performances optimales.
Brève description
Pour ajouter des données depuis Amazon S3 à vos tables Amazon Redshift, vous pouvez utiliser la commande INSERT ou COPY. Cependant, il est recommandé d'utiliser la commande COPY car elle est plus efficace. COPY utilise une architecture de traitement massivement parallèle (MPP) pour charger simultanément des données à partir de fichiers d'un compartiment S3.
Pour d'autres méthodes à utiliser, consultez la section Chargement de données dans Amazon Redshift.
Résolution
Exécuter une commande COPY
Exécutez une seule commande COPY pour charger une table. Si vous utilisez plusieurs commandes COPY simultanées pour charger une table à partir de plusieurs fichiers, Amazon Redshift effectue un chargement sérialisé et risque de ralentir.
Préparer les fichiers de données
Pour utiliser efficacement la commande COPY, vous devez également préparer les fichiers de données. Le nombre de fichiers et leur taille affectent les capacités de traitement parallèle.
Si vous spécifiez plusieurs fichiers dans la commande COPY, Amazon Redshift charge les données en parallèle. Pour préparer vos fichiers de données, assurez-vous que leur taille est approximativement la même, entre 1 Mo et 1 Go.
Pour un cluster provisionné par Redshift, il est recommandé d'utiliser un nombre de fichiers qui est un multiple du nombre de tranches. Pour Amazon Redshift Serverless, il est recommandé d'utiliser un nombre de fichiers multiple de 128. Pour plus d'informations, consultez la section Chargement de fichiers de données.
Pour obtenir le nombre de tranches pour un cluster provisionné par Redshift, exécutez la requête suivante :
select count(*) from STV_SLICES where type = 'D';
Remarque : Lorsque vous spécifiez un fichier .csv, Parquet ou ORC non compressé dans la commande COPY, Amazon Redshift divise les fichiers d’une taille supérieure à 128 Mo.
Surveiller le statut de la commande COPY
Pour consulter le statut de la commande COPY, vous pouvez consulter les tables système.
Les tables système enregistrent les détails de la commande COPY, notamment le nombre de fichiers, la taille du fichier et le nombre de lignes chargées. Vous pouvez surveiller les tables pour déterminer les améliorations de performances que vous pouvez apporter et la cause de l'échec d'une commande COPY.
Pour plus d'informations sur la commande COPY, consultez les sections SYS_LOAD_HISTORY et SYS_LOAD_DETAIL.
Pour plus d'informations sur les erreurs de la commande COPY, consultez la section SYS_LOAD_ERROR_DETAIL.
Informations connexes
Bonnes pratiques de chargement des données sur Amazon Redshift
Charger des tables à l'aide de la commande COPY
Chargement de données à partir de fichiers compressés et non compressés