Ich habe eine TSV-Datei, wobei die erste Zeile der Header ist. Ich möchte ein JavaPairRDD aus dieser Datei erstellen. Derzeit mache ich so mit dem folgenden Code:Die beste Möglichkeit, TSV-Datei mit Apache Spark in Java zu lesen
TsvParser tsvParser = new TsvParser(new TsvParserSettings());
List<String[]> allRows;
List<String> headerRow;
try (BufferedReader reader = new BufferedReader(new FileReader(myFile))) {
allRows = tsvParser.parseAll((reader));
//Removes the header row
headerRow = Arrays.asList(allRows.remove(0));
}
JavaPairRDD<String, MyObject> myObjectRDD = javaSparkContext
.parallelize(allRows)
.mapToPair(row -> new Tuple2<>(row[0], myObjectFromArray(row)));
Ich frage mich, ob es eine Möglichkeit, die javaSparkContext zu haben war direkt die Datei lesen und verarbeiten, anstatt den Betrieb in zwei Teile aufgeteilt wird.
EDIT: Dies ist kein Duplikat von How do I convert csv file to rdd, denn ich suche eine Antwort in Java, nicht in Scala.
verwenden müssen Mögliches Duplikat von [Wie konvertiere ich die csv-Datei in rdd] (http: // stackove rflow.com/questions/22299427/how-do-i-convert-csv-file-to-rdd) – zero323
Es ist kein Duplikat, weil ich in Java eine Antwort suche, nicht in Scala. – alexgbelov