Flink_WordCount_代码实例
来源:互联网 发布:阿里云邮箱手机验证 编辑:程序博客网 时间:2024/06/15 20:55
import org.apache.flink.api.common.functions.FlatMapFunction;import org.apache.flink.api.common.functions.MapFunction;import org.apache.flink.api.java.tuple.Tuple2;import org.apache.flink.streaming.api.datastream.DataStream;import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment;import org.apache.flink.streaming.api.windowing.time.Time;import org.apache.flink.util.Collector;public class WindowWordCount { public static void main(String [] args) throws Exception{ // get env StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment(); DataStream<Tuple2<String, Long>> dataStream = env // source .socketTextStream("localhost", 9999) // flatmap DataStream->DataStream 将读入的一份数据,转换成0到n个。这里就是拆分。 .flatMap(new FlatMapFunction<String, String>() { @Override public void flatMap(String s, Collector<String> collector) throws Exception { String [] words = s.split(" "); for(String word : words){ collector.collect(word); } } }) // map DataStream->DataStream 读入一份,转换成一份,这里是组装成tuple对 .map(new MapFunction<String, Tuple2<String, Long>>() { @Override public Tuple2<String, Long> map(String s) throws Exception { return new Tuple2<String, Long>(s, 1l); } }) // keyBy DataStream->KeyedStream 逻辑上将数据根据key进行分区,保证相同的key分到一起。默认是hash分区 .keyBy(0) // window .timeWindow(Time.seconds(2)) // sum WindowedStream->DataStream 聚合窗口内容。另外还有min,max等 .sum(1); //sink dataStream.print(); env.execute("Word Count!"); }}
阅读全文
0 0
- Flink_WordCount_代码实例
- 实例代码
- 代码实例
- 代码实例
- AudioTrack实例代码 C++代码
- AudioTrack实例代码 C++代码
- JSP分页代码实例
- Struts + Hibernate 代码实例
- struts分页实例代码
- javascript经典代码实例
- 代码生成器的实例
- 代码实例:级联菜单
- JAVA分页代码实例
- JSP分页代码实例
- Struts2 入门实例代码
- .net事件实例代码
- Socket实例代码
- Jsp分页实例代码
- 不正常序列 (堆)
- iOS11 和 iPhone X 的适配
- maven 几种构建方式
- 通过非可视化的JavaBean,封装邮箱地址对象,通过JSP页面调用该对象来验证邮箱地址是否合法
- 系统导入导出工具
- Flink_WordCount_代码实例
- VS2015 报“包含在 Image 和 Image 项组中。项目项不允许这样做,它只能属于一个项组。”解决方法
- 异常
- 【斜率优化】BZOJ1597(Usaco2008 Mar)[土地购买]题解
- 数据降维的几种方法(转)
- 给新生的一点入门建议
- Java 多线程同步的五种方法
- 冒泡排序算法研究
- rsyslog 配置文件说明