Spark Java Чтение файла в двоичном виде для сохранения кодировки - PullRequest
0 голосов
/ 19 ноября 2018

В 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

...