Wie parse CSV-Datei mit UTF-8-Codierung?
Ich benutze Spark 2.1.
input csv-Datei unicode-Zeichen enthält, wie unten gezeigt
Während der Analyse dieser csv-Datei die Ausgabe wird angezeigt, wie unten
Nutze ich MS Excel 2010, um Dateien anzuzeigen.
Den Java-code verwendet wird
@Test
public void TestCSV() throws IOException {
String inputPath = "/user/jpattnaik/1945/unicode.csv";
String outputPath = "file:\\C:\\Users\\jpattnaik\\ubuntu-bkp\\backup\\bug-fixing\\1945\\output-csv";
getSparkSession()
.read()
.option("inferSchema", "true")
.option("header", "true")
.option("encoding", "UTF-8")
.csv(inputPath)
.write()
.option("header", "true")
.option("encoding", "UTF-8")
.mode(SaveMode.Overwrite)
.csv(outputPath);
}
Wie bekomme ich die Ausgabe "same as input"?
Danke @Jacek, ich habe die Datei encoding mit file-Kommando und bekam zu wissen, die Codierung der Datei ist eigentlich ISO-8859-1, Also habe ich analysiert diese Datei entsprechend an und bekam gewünschte Ergebnis.
InformationsquelleAutor Jyoti Ranjan | 2017-05-16
Du musst angemeldet sein, um einen Kommentar abzugeben.
Meine denke ist, dass die input-Datei ist nicht in
UTF-8
und daher bekommen Sie das falsche Zeichen.Meine Empfehlung wäre, zu schreiben, eine Reine Java-Anwendung (ohne Funke) und sehen, ob Lesen und schreiben gibt, die gleichen Ergebnisse mit
UTF-8
Codierung.InformationsquelleAutor Jacek Laskowski
War ich in der Lage zu Lesen ISO-8859-1, mit Funken, aber wenn ich speichern die gleichen Daten auf S3/hdfs Sie zurück und Lesen Sie es, das format konvertieren zu UTF-8.
ex:
é to é
Eine Antwort ist nicht der richtige Ort eine Frage zu stellen. Erstellen Sie eine neue Frage.
InformationsquelleAutor Saida