В приведенном ниже коде я пытаюсь прочитать текстовый файл как rdd, и я вызываю метод map, потому что я хочу перенести каждую строку и добавить ее в объект String Builder. Но я хочу вернуть объект String Builder после того, как я закончил с каждой строкой. Но здесь я возвращаю его в каждой строке. Поэтому, когда я делаю exposuresRdd.saveAsTextFile().Как вернуть объект String Builder сразу как rdd? Или преобразовать объект String Builder в rdd?
Я получаю результат, как (повторы) б
б с
б с d
, где, как я хочу, чтобы это было в b c d e f
Он не должен повторять
JavaRDD<String> exposuresRdd = ctx.textFile(fname);
JavaRDD<String> transformedrdd= exposuresRdd.flatMap(new Function<String, String>() {
@Override
public String call(String line) throws Exception {
sb.append(Something);
return sb.toString();
});
}
Я не понимаю здесь вопроса - если вы хотите вернуть строку в конце каждой строки, то вывод будет повторением предыдущих строк + новой строки. Также наверняка вы бы сохранили transformRdd, а не exposuresRdd.saveAsTextFile()? – Gillespie
Пожалуйста, [минимальный, полный и проверенный пример] (http://stackoverflow.com/help/mcve). Неясно, чего вы хотите, и ваш код является неполным. Похоже, вы делаете точно такую же ошибку, как [здесь] (http://stackoverflow.com/q/32798554/1560062) – zero323