Caracteres extraños al leer un archivo CSV comprimido con gzip [duplicado]

Jan 12 2021

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

mck Jan 12 2021 at 03:18

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 .gzlugar de .gzip, Spark debería poder descomprimir el archivo csv correctamente.