Gzip ile sıkıştırılmış CSV dosyasını okurken garip karakterler [yineleme]

Jan 12 2021

UTF-8 kodlu dosya olarak kaydettiğim bir CSV dosyasını okumaya çalışıyorum. Dosyayı Pandalar ile okumaya çalıştığımda çok zaman alıyor ama istediğim çıktıyı alıyorum.

out_pd = pd.read_csv('../files/example_file_out.csv.gzip', sep='\t', encoding='utf-8', compression='gzip')

Aynı dosyayı HDFS'den okumak için hemen hemen aynısını Spark'ta yapmak:

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()

Bu sonuçla:

+ ------------------------------------------------- -------------------------------------------------- - + | _ 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 ... | + ------------------------------------- -------------------------------------------------- -------------- +

Neyi yanlış yaptığımı gerçekten bilmiyorum. Yardımınız için şimdiden teşekkürler!

Yanıtlar

mck Jan 12 2021 at 03:18

Spark, dosya uzantısını kullanarak dosya sıkıştırma formatını belirler. Varsayılan olarak gzip ile sıkıştırılmış dosyaların uzantısı vardır .gz, bu nedenle dosyanızı .gzyerine bir uzantıya sahip olacak şekilde yeniden adlandırırsanız .gzip, Spark'ın csv dosyasını düzgün bir şekilde açabilmesi gerekir.