Caractères étranges lors de la lecture d'un fichier CSV compressé au format gzip [en double]
J'essaie de lire un fichier CSV, que j'ai enregistré en tant que fichier encodé UTF-8. Lorsque j'essaye de lire le fichier avec Pandas, cela prend beaucoup de temps mais j'obtiens le résultat souhaité.
out_pd = pd.read_csv('../files/example_file_out.csv.gzip', sep='\t', encoding='utf-8', compression='gzip')
Faire presque la même chose dans Spark pour lire exactement le même fichier à partir de HDFS:
out_spark = spark.read.format('csv').options(header = "true", sep = "\t", encoding = "UTF-8").load("/Path/to/Folder/example_file_out.csv.gzip" )
out_spark.show()
Avec ce résultat:
+ ------------------------------------------------- -------------------------------------------------- - + | _ example_file_out.csv.gzip Ѳ Fr$�|�l�A?��̈��L��F��cWZ�F��Ef�^�5C�k�hW���H$ j xH? } N | + ------------------------------------------------- -------------------------------------------------- - + | @ # "<= <^ ... | |? ϟ Ͽ O ... | | ރ Y ^ x o e> Y ... | + ------------------------------------- -------------------------------------------------- -------------- +
Je ne sais vraiment pas ce que je fais de mal. Merci d'avance pour votre aide!
Réponses
Spark déduit le format de compression de fichier à l'aide de l'extension de fichier. Par défaut, les fichiers gzippés ont l'extension .gz
, donc si vous renommez votre fichier pour avoir une extension de .gz
au lieu de .gzip
, Spark devrait être en mesure de décompresser le fichier csv correctement.