flink简单使用教程

flink使用02-从WordCount开始

2019-11-09  本文已影响0人  CheckChe

相信大家在学习spark的时候接触的第一个案例肯定也是 wordCount, 本文也想通过这样一个简单的例子来讲一下一个简单的 flink 程序是什么样子的, 让大家对 flink 的代码有一个简单的了解.

一个 flink程序主要分为5个部分:

以下为简单的 WordCount 代码

public class WordCount {

    public static void main(String[] args) throws Exception {

        // 获取 StreamEnv
        final StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();

        // 获取 输入流
        DataStream<String> text = env.fromElements(WordCountData.WORDS);

        // 执行计算Operator
        DataStream<Tuple2<String, Integer>> counts
                = text.flatMap(new SplitFunction())
                .keyBy(0).sum(1);

        // 输出结果
        counts.print();

        // 启动flink程序
        env.execute("WordCount Demo");
    }

    // *************************************************************************
    // 自定义切割Function切分一行输入
    // *************************************************************************
    public static final class SplitFunction implements FlatMapFunction<String, Tuple2<String, Integer>>{

        @Override
        public void flatMap(String s, Collector<Tuple2<String, Integer>> collector) throws Exception {
            String[] words = s.toLowerCase().split(" ");
            for (String word : words) {
                if (word.length() > 0){
                    collector.collect(new Tuple2<>(word, 1));
                }
            }
        }
    }
}
上一篇 下一篇

猜你喜欢

热点阅读