Caracteres extraños al leer un archivo CSV comprimido con gzip [duplicado]
Estoy intentando leer un archivo CSV que guardé como archivo codificado en UTF-8. Cuando intento leer el archivo con Pandas, lleva mucho tiempo pero obtengo el resultado deseado.
out_pd = pd.read_csv('../files/example_file_out.csv.gzip', sep='\t', encoding='utf-8', compression='gzip')
Haciendo casi lo mismo en Spark para leer exactamente el mismo archivo 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()
Con este resultado:
+ ------------------------------------------------- -------------------------------------------------- - + | _ 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 ... | + ------------------------------------- -------------------------------------------------- -------------- +
Realmente no sé qué estoy haciendo mal. ¡Gracias de antemano por tu ayuda!
Respuestas
Spark infiere el formato de compresión de archivos utilizando la extensión de archivo. De forma predeterminada, los archivos comprimidos con gzip tienen la extensión .gz
, por lo que si cambia el nombre de su archivo para que tenga una extensión de en .gz
lugar de .gzip
, Spark debería poder descomprimir el archivo csv correctamente.