Flink batch/stream编程套路


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");

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM