【问题标题】:How to split JavaDStream<String> and print the second word of the line如何拆分 JavaDStream<String> 并打印该行的第二个单词
【发布时间】:2020-07-29 07:50:56
【问题描述】:

分割线后,我只能打印所有单词,但在我的情况下,我只想要该行的第二个单词,我该如何解决?


JavaDStream<String> words = kafkaSparkInputDStream.flatMap(new FlatMapFunction<String, String>() {
                public Iterable<String> call(String x) {
                    return Arrays.asList(x.split(" "));
                }
            });
words.print();

【问题讨论】:

    标签: java apache-spark pyspark spark-streaming


    【解决方案1】:

    你不能从分割数组中选择你想要的元素吗?您可以使用 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();
    

    【讨论】:

      猜你喜欢
      • 2021-09-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-11-26
      • 2019-05-05
      • 1970-01-01
      相关资源
      最近更新 更多