В spark я пытаюсь прочитать файл, когда я делаю это с javaSparkContext.textFile(localFilePath, 0)
, он заменяет специальные символы на UTF-8, чтобы избежать этого в качестве решения (приведенного в комментарии), который я пробовалПриведенный ниже подход </p>
<pre><code>JavaPairRDD<String, Object> pairsRDD =
javaSparkContext.binaryFiles(localFilePath, 0)
.mapValues(content -> new String(content.toArray(),
StandardCharsets.US_ASCII));
List<Object> list = pairsRDD.map(x -> x._2).collect();
List<Row> RowList = new ArrayList<>();
for(Object obj : list) {
String fileContent = (String)obj;
String[] indLines = fileContent.split("\n");
for(String indLine : indLines) {
Row row = processOrdersData(indLine);
RowList.add(row);
}
}
Мне интересно, можем ли мы оптимизировать код, а не зацикливать его по отдельности после разбиения ("\ n").Я попробовал java лямбда-способы сопоставить со списком как Collectors.collectasString
, но структура с синтаксическими ошибками
Следовали ссылки переполнения стека
Spark: импорт текстового файла в кодировке UTF-8
искробезопасные файлы fullTextFile с кодировкой, отличной от UTF-8