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. Pourquoi, et comment puis-je 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.

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

Si la valeur du paramètre IGNOREHEADER de la commande COPY est un nombre différent de zéro, Redshift ignore la première ligne et, par conséquent, l'ensemble du fichier. Aucune erreur n'est renvoyée, car d'un point de vue technique, l'opération a bien été effectuée.

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 réessayez de le charger à l'aide de la commande COPY.

Amazon Redshift, copie, vide, Amazon S3


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