【发布时间】:2016-12-09 15:07:08
【问题描述】:
我有一个 TSV 文件,其中第一行是标题。我想从这个文件创建一个 JavaPairRDD。目前,我正在使用以下代码:
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)));
我想知道是否有办法让 javaSparkContext 直接读取和处理文件,而不是将操作分成两部分。
编辑:这不是 How do I convert csv file to rdd 的副本,因为我正在寻找 Java 中的答案,而不是 Scala。
【问题讨论】:
-
它不是重复的,因为我正在寻找 Java 的答案,而不是 Scala。
标签: java csv apache-spark