Проблема в new Function<String, Boolean>()
, это анонимный класс, имеющий ссылку на WordCountService
и переходный на JavaSparkContext
. Чтобы избежать этого, вы можете сделать его статическим вложенным классом.
static class WordCounter implements Function<String, Boolean>, Serializable {
private final String word;
public WordCounter(String word){
this.word = word;
}
@Override
public Boolean call(String s) throws Exception {
return s.contains(word);
}
}
и используйте его с
JavaRDD<String> words = textFile.filter(new WordCounter(word));
Google удаляет большую часть знаков препинания из запросов, как описано здесь , поэтому он не поможет вам с синтаксисом bash.
Искать строку очень легко. «##» в документации bash: просто запустите «info bash», нажмите «s» и введите «##» в качестве строки поиска.