在大数据开发领域,每个大数据开发框架都有着自己固定的编程模型。用户只有按照这套流程实现自己的业务逻辑即可。flink也有着自己固定的开发模式,流,批开发模式一样,只是调用的类不一样,社区也在计划统一api。flink支持java,scala,python语言开发,flink开发的大多少都是使用java。java api 在 org.apache.flink.api.java.*,scala api在 org.apache.flink.api.scala._
//设定执行环境
final ExecutionEnvironment env = ExecutionEnvironment.getExecutionEnvironment();
//指定数据源,获取输入数据
DataSet<String> text = env.readTextFile(params.get("input"));
//对数据集指定转换操作
DataSet<Tuple2<String, Integer>> counts =
text.flatMap(new Tokenizer())
.groupBy(0)
.sum(1);
//指定计算结果输出位置
counts.writeAsCsv(params.get("output"), "\n", " ");
//指定任务名称并触发任务执行
env.execute("WordCount Example");
//设定执行环境
final StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();
//指定数据源
DataStream<String> text = env.readTextFile(params.get("input"));
//对输入数据进行转换操作
DataStream<Tuple2<String, Integer>> counts =
text.flatMap(new Tokenizer())
.keyBy(0).sum(1);
//指定计算结果输出位置
counts.writeAsText(params.get("output"));
//设置任务名称并触发任务执行
env.execute("Streaming WordCount");