อักขระแปลก ๆ ขณะอ่านไฟล์ CSV ที่บีบอัด gzv [ซ้ำ]

Jan 12 2021

ฉันพยายามอ่านไฟล์ CSV ที่บันทึกเป็นไฟล์เข้ารหัส UTF-8 เมื่อฉันพยายามอ่านไฟล์ด้วย Pandas มันใช้เวลานานมาก แต่ฉันได้ผลลัพธ์ที่ต้องการ

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

ทำเกือบเหมือนกันใน Spark เพื่ออ่านไฟล์เดียวกันจาก 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()

ด้วยผลลัพธ์นี้:

+ ------------------------------------------------- -------------------------------------------------- - + | _ example_file_out.csv.gzip Ѳ Fr$�|�l�A?��̈��L��F��cWZ�F��Ef�^�5C�k�hW���H$ j xH? } N | + ------------------------------------------------- -------------------------------------------------- - + | @ # "<= <^ ... | |? x o e> ย ... | + ------------------------------------- -------------------------------------------------- -------------- +

ฉันไม่รู้จริงๆว่าฉันทำอะไรผิด ขอบคุณล่วงหน้าสำหรับความช่วยเหลือของ!

คำตอบ

mck Jan 12 2021 at 03:18

Spark อนุมานรูปแบบการบีบอัดไฟล์โดยใช้นามสกุลไฟล์ โดยค่าเริ่มต้นไฟล์ gzipped จะมีนามสกุล.gzดังนั้นหากคุณเปลี่ยนชื่อไฟล์ให้มีนามสกุล.gzแทนที่จะเป็น.gzipSpark ควรจะขยายขนาดไฟล์ csv ได้อย่างถูกต้อง