Rien ne se passe lorsque j’essaie de charger un fichier CSV dans Amazon Redshift à l’aide de la commande COPY.

Date de la dernière mise à jour : 03/01/2020

J’essaie de charger un fichier CSV depuis Amazon Simple Storage Service (Amazon S3) dans Amazon Redshift à l’aide de la commande COPY. Cependant, rien ne se passe et aucune erreur n’est renvoyée, même si le fichier contient des enregistrements.

Résolution

Ce problème se produit lorsque le fichier CSV utilise des retours chariot (« \\r »,« ^M » ou « 0x0D » au format hexadécimal) comme marque de fin de ligne. Comme Amazon Redshift ne reconnaît pas les retours chariot comme marques de fin de ligne, le fichier est analysé comme en tant que ligne unique. Si le paramètre IGNOREHEADER de la commande COPY est défini sur un nombre différent de zéro, Amazon Redshift ignore 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 ce problème, remplacez les retours chariot par CRLF (« \r\\n » ou « 0x0D0A » au format hexadécimal) ou LF (« \\n » ou « 0x0A » au format hexadécimal). Chargez le fichier modifié dans le compartiment S3, puis réessayez la commande COPY.


Cet article vous a-t-il été utile ?

Cette page peut-elle être améliorée ?


Vous avez besoin d’aide ?