Seltsame Zeichen beim Lesen der komprimierten CSV-Datei [Duplikat]
Ich versuche eine CSV-Datei zu lesen, die ich als UTF-8-codierte Datei gespeichert habe. Wenn ich versuche, die Datei mit Pandas zu lesen, dauert es viel, aber ich erhalte die gewünschte Ausgabe.
out_pd = pd.read_csv('../files/example_file_out.csv.gzip', sep='\t', encoding='utf-8', compression='gzip')
In Spark fast dasselbe tun, um genau dieselbe Datei aus HDFS zu lesen:
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()
Mit diesem Ergebnis:
+ --------------------------------------------- -------------------------------------------------- - + | _ example_file_out.csv.gzip Ѳ Fr$�|�l�A?��̈��L��F��cWZ�F��Ef�^�5C�k�hW���H$ j xH? } N | + --------------------------------------------- -------------------------------------------------- - + | @ # "<= <^ ... | |? ϟ ... | | ރ Y ^ x o e> Y ... | + --------------------------------- -------------------------------------------------- -------------- +
Ich weiß wirklich nicht, was ich falsch mache. Vielen Dank im Voraus für Ihre Hilfe!
Antworten
Spark leitet das Dateikomprimierungsformat mithilfe der Dateierweiterung ab. Standardmäßig haben komprimierte Dateien die Erweiterung .gz
. Wenn Sie Ihre Datei also in eine Erweiterung .gz
anstelle von umbenennen .gzip
, sollte Spark in der Lage sein, die CSV-Datei ordnungsgemäß zu dekomprimieren.