Flink(1):Flink的基础案例
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Flink(1):Flink的基础案例,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2449字,纯文字阅读大概需要4分钟。
内容图文
![Flink(1):Flink的基础案例](/upload/InfoBanner/zyjiaocheng/1252/fa3798c1080f417e9134017ba427be49.jpg)
相关文章链接
1、批处理的WordCount案例
// 创建执行环境 ExecutionEnvironment env = ExecutionEnvironment.getExecutionEnvironment(); // 获取数据 DataSource<String> dataSource = env.fromElements("flink spark hadoop", "hadoop spark", "flink flink"); // 转换数据 AggregateOperator<Tuple2<String, Integer>> result = dataSource .flatMap(new FlatMapFunction<String, String>() { @Override public void flatMap(String s, Collector<String> collector) throws Exception { for (String field : s.split(" ")) { collector.collect(field); } } }) .map(new MapFunction<String, Tuple2<String, Integer>>() { @Override public Tuple2<String, Integer> map(String s) throws Exception { return Tuple2.of(s, 1); } }) .groupBy(0) .sum(1); // 输出数据 result.print();
2、流处理的WordCount案例
// 执行环境 StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment(); env.setRuntimeMode(RuntimeExecutionMode.AUTOMATIC); //env.setRuntimeMode(RuntimeExecutionMode.BATCH); //env.setRuntimeMode(RuntimeExecutionMode.STREAMING); // source数据源 DataStreamSource<String> lines = env.socketTextStream("localhost", 9999); // 数据转换 SingleOutputStreamOperator<Tuple2<String, Integer>> result = lines .flatMap(new FlatMapFunction<String, String>() { @Override public void flatMap(String s, Collector<String> collector) throws Exception { for (String word : s.split(" ")) { collector.collect(word); } } }) .map(new MapFunction<String, Tuple2<String, Integer>>() { @Override public Tuple2<String, Integer> map(String s) throws Exception { return Tuple2.of(s, 1); } }) .keyBy(t -> t.f0) .sum(1); // sink result.print(); env.execute();
3、流处理的基于Lambda表达式的WordCount案例
// 执行环境 StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment(); //env.setRuntimeMode(RuntimeExecutionMode.AUTOMATIC); // 获取数据 DataStreamSource<String> dataStreamSource = env.fromElements("abc abc abc"); // 数据转换 SingleOutputStreamOperator<Tuple2<String, Integer>> result = dataStreamSource .flatMap((String value, Collector<String> out) -> { Arrays.stream(value.split(" ")).forEach(out::collect); }).returns(Types.STRING) .map((String value) -> Tuple2.of(value, 1), TypeInformation.of(new TypeHint<Tuple2<String, Integer>>() {} )) .keyBy(t -> t.f0) .sum(1); // 数据输出 result.print(); // 执行程序 env.execute();
原文:https://www.cnblogs.com/yangshibiao/p/14907795.html
内容总结
以上是互联网集市为您收集整理的Flink(1):Flink的基础案例全部内容,希望文章能够帮你解决Flink(1):Flink的基础案例所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。