J'essaie de charger un fichier CSV dans Amazon Redshift à partir d'Amazon S3 à l'aide de la commande COPY, mais aucun élément n'est chargé (bien que le fichier contienne des enregistrements) et aucune erreur n'est renvoyée. Comme résoudre ce problème ?

Si le fichier CSV utilise des retours chariot (« \r », « ^M » ou « 0x0D » dans Hex) comme marque de fin de ligne, les lignes du fichier CSV ne sont pas correctement chargées. Remplacez les retours chariot par CRLF (« \r\n » ou « 0x0D0A » dans hex) ou LF (« \n » ou « 0x0A » dans hex), puis réessayez d'utiliser la commande COPY.

Amazon Redshift ne reconnaît pas les retours chariot (utilisés fréquemment par de nombreux programmes Windows) en tant que marques de fin de ligne et, par conséquent, le fichier est analysé en tant que ligne unique.

Si le paramètre IGNOREHEADER de la commande COPY est défini selon un nombre autre que zéro, Amazon Redshift conserve la première ligne, et par conséquent, le fichier entier. Aucune erreur de chargement n'est renvoyée, car l'opération a réussi sur le plan technique.

Pour résoudre cette erreur, modifiez le fichier CSV de façon à utiliser une marque de fin de ligne autre qu'un retour chariot, chargez le fichier dans votre compartiment S3, puis chargez-le à l'aide de la commande COPY.


Cette page vous a-t-elle été utile ? Oui | Non

Retour au Centre de connaissances AWS Support

Vous avez besoin d'aide ? Consultez le site du Centre AWS Support

Date de publication : 28/09/2016

Date de mise à jour : 09/07/2018