如何拆分 JavaDStream<String> 并打印该行的第二个字
How to split JavaDStream<String> and print the second word of the line
拆分后我只能打印所有单词,但在我的情况下我只想要该行的第二个单词我该如何解决?
JavaDStream<String> words = kafkaSparkInputDStream.flatMap(new FlatMapFunction<String, String>() {
public Iterable<String> call(String x) {
return Arrays.asList(x.split(" "));
}
});
words.print();
你能select你想要拆分数组中的哪个元素吗?您可以使用
x.split(1)[1]
但是这可能会导致异常,所以另一种更容易出错的方法是:
JavaDStream<String> words = kafkaSparkInputDStream.flatMap(new FlatMapFunction<String, String>() {
public Iterable<String> call(String x) {
return Arrays.stream(x.split(" "))
.skip(1)
.limit(1)
.collect(Collectors.toList());
}
});
words.print();
拆分后我只能打印所有单词,但在我的情况下我只想要该行的第二个单词我该如何解决?
JavaDStream<String> words = kafkaSparkInputDStream.flatMap(new FlatMapFunction<String, String>() {
public Iterable<String> call(String x) {
return Arrays.asList(x.split(" "));
}
});
words.print();
你能select你想要拆分数组中的哪个元素吗?您可以使用
x.split(1)[1]
但是这可能会导致异常,所以另一种更容易出错的方法是:
JavaDStream<String> words = kafkaSparkInputDStream.flatMap(new FlatMapFunction<String, String>() {
public Iterable<String> call(String x) {
return Arrays.stream(x.split(" "))
.skip(1)
.limit(1)
.collect(Collectors.toList());
}
});
words.print();