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 COPY commande utilise massivement le traitement parallèle MPP () et des plages de numérisation pour charger des données provenant 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 COPY commande peut charger des données provenant 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 bucket et que vous spécifiez le nom du dossier comme préfixe, tous les fichiers du dossier sont COPY chargés. 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 délimitées et non compressées, la COPY commande utilise l'architecture massively parallel processing MPP () d'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 à l'aide de la COPY commande est également disponible pour CSV les fichiers. 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 Distribution des données pour l'optimisation des requêtes.

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

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 de colonnes spécifiée dans la COPY commande, elle est chargée avec une valeur par défaut. Pour de plus amples informations, veuillez consulter 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 COPY commande pour charger la table.

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

Pour des exemples de COPY commandes, voirCOPYexemples. 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.