zoukankan      html  css  js  c++  java
  • 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");
  • 相关阅读:
    异常处理
    集合面试题
    数据结构
    集合遍历
    集合汇总
    Collections工具类
    HashMap和hashTable的区别
    Map接口和Collection接口的区别
    Spark应用远程调试
    使用 maskView 设计动画
  • 原文地址:https://www.cnblogs.com/linjiqin/p/12439150.html
Copyright © 2011-2022 走看看