Chargement de données à partir de fichiers compressés et non compressés - 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.

Chargement de données à partir de fichiers compressés et non compressés

Lorsque vous chargez des données compressées, nous vous recommandons de fractionner les données de chaque table en plusieurs fichiers. Lorsque vous chargez des données délimitées et non compressées, la commande COPY utilise des plages de traitement massivement parallèle (MPP) et d’analyse pour charger des données à partir de fichiers volumineux dans un compartiment Amazon S3.

Chargement de données à partir de plusieurs fichiers compressés

Dans les cas où vous avez des données compressées, nous vous recommandons de fractionner les données de chaque table en plusieurs fichiers. La commande COPY peut charger les données à partir de plusieurs fichiers en parallèle. Vous pouvez charger plusieurs fichiers en spécifiant un préfixe commun, ou clé de préfixe, pour l’ensemble, ou en indiquant explicitement les fichiers dans un fichier manifeste.

Scindez vos données en fichiers de telle sorte que le nombre de fichiers soit un multiple du nombre de tranches de votre cluster. De cette façon, Amazon Redshift peut diviser également les données entre les tranches. Le nombre de tranches par nœud dépend de la taille de nœud du cluster. Par exemple, chaque nœud de calcul dc2.large possède deux tranches, et chaque nœud de calcul dc2.8xlarge possède 16 tranches. Pour plus d'informations sur le nombre de tranches pour chaque taille de nœud, consultez la rubrique À propos des clusters et nœuds dans le Guide de gestion Amazon Redshift.

Les nœuds participent tous à l’exécution de requêtes parallèles, en travaillant sur des données réparties aussi uniformément que possible sur les tranches. Si vous avez un cluster avec deux nœuds dc2.large, vous pouvez diviser vos données en quatre fichiers ou un multiple de quatre. Amazon Redshift ne prend pas en compte la taille des fichiers lors de la répartition de la charge de travail. Par conséquent, vous devez vous assurer que les fichiers ont à peu près la même taille, de 1 Mo à 1 Go après compression.

Pour utiliser des préfixes d’objet pour identifier les fichiers du chargement, nommez chaque fichier avec un préfixe commun. Par exemple, le fichier venue.txt peut être fractionné en quatre fichiers, comme suit :

venue.txt.1 venue.txt.2 venue.txt.3 venue.txt.4

Si vous placez plusieurs fichiers dans un dossier de votre compartiment et spécifiez le nom du dossier comme préfixe, la commande COPY charge tous les fichiers dans le dossier. Si vous listez explicitement les fichiers à charger à l’aide d’un fichier manifeste, les fichiers peuvent résider dans différents compartiments ou dossiers.

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

Chargement de données à partir de fichiers délimités non compressés

Lorsque vous chargez des données non compressées et délimitées, la commande COPY utilise l’architecture de traitement massivement parallèle (MPP) dans Amazon Redshift. Amazon Redshift utilise automatiquement des tranches fonctionnant en parallèle avec des plages de chargement de données provenant d’un fichier volumineux dans un compartiment Amazon S3. Le fichier doit être délimité pour que le chargement en parallèle ait lieu. Par exemple, délimitation de canaux. Le chargement automatique et parallèle des données avec la commande COPY est également disponible pour les fichiers CSV. Vous pouvez également profiter du traitement parallèle en définissant les clés de distribution de vos tables. Pour plus d’informations sur les clés de distribution, consultez Utilisation des styles de distribution de données.

Le chargement parallèle des données n’est pas pris en charge lorsque la requête COPY inclut l’un des mots clés suivants : ESCAPE, REMOVEQUOTES et FIXEDWIDTH.

Les données du ou des fichiers sont chargées dans la table cible, une ligne par ligne. Les champs du fichier de données sont mis en correspondance avec les colonnes de la table dans l’ordre, de gauche à droite. Les champs des fichiers de données peuvent être à largeur fixe ou délimités par un caractère ; le délimiteur par défaut est une barre verticale (|). Par défaut, toutes les colonnes de la table sont chargées, mais vous pouvez, le cas échéant, définir une liste de colonnes séparées par des virgules. Si une colonne de table n’est pas incluse dans la liste des colonnes spécifiée dans la commande COPY, elle est chargée avec une valeur par défaut. Pour plus d'informations, consultez Chargement des valeurs par défaut des colonnes.

Suivez ce processus général pour charger les données depuis Amazon S3, lorsque vos données sont décompressées et délimitées :

  1. Chargez vos fichiers sur Amazon S3.

  2. Exécutez une commande COPY pour charger la table.

  3. Vérifiez que les données ont été chargées correctement.

Pour obtenir des exemples de commandes COPY, consultez Exemples de commandes COPY. Pour plus d’informations sur les données chargées dans Amazon Redshift, consultez les tables système STL_LOAD_COMMITS et STL_LOAD_ERRORS.

Pour plus d’informations sur les nœuds et les tranches qu’ils contiennent, consultez À propos des clusters et nœuds dans le Guide de gestion Amazon Redshift.