首页 > 其他 > 详细

Flink batch/stream编程套路

时间:2020-03-07 23:29:16      阅读:114      评论:0      收藏:0      [点我收藏+]
DataSet and DataStream 这里以WordCount为例,共同的编程套路如下所示:

1.获取执行环境(execution environment)
final StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();

2.加载/创建初始数据集
// 读取输入数据
DataStream<String> text;
if (params.has("input")) {
    // 读取text文件
    text = env.readTextFile(params.get("input"));
} else {
    System.out.println("Executing WordCount example with default input data set.");
    System.out.println("Use --input to specify file input.");
    // 读取默认测试数据集
    text = env.fromElements(WordCountData.WORDS);
}

3.对数据集进行各种转换操作(生成新的数据集)
DataStream<Tuple2<String, Integer>> counts =
                    // 切分每行单词
                    text.flatMap(new Tokenizer())
                    //对每个单词分组统计词频数
                    .keyBy(0).sum(1);
                    
4.指定将计算的结果放到何处去
// 输出统计结果
if (params.has("output")) {
    //写入文件地址
    counts.writeAsText(params.get("output"));
} else {
    System.out.println("Printing result to stdout. Use --output to specify output path.");
    //数据打印控制台
    counts.print();
}

5.触发APP执行
// 执行flink 程序
env.execute("Streaming WordCount");

 

Flink batch/stream编程套路

原文:https://www.cnblogs.com/linjiqin/p/12439150.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!