addflink
This commit is contained in:
@@ -24,7 +24,6 @@ Time Windows 用于以时间为维度来进行数据聚合,具体分为以下
|
||||
<div align="center"> <img src="https://github.com/heibaiying/BigData-Notes/blob/master/pictures/flink-tumbling-windows.png"/> </div>
|
||||
|
||||
|
||||
|
||||
这里我们以词频统计为例,给出一个具体的用例,代码如下:
|
||||
|
||||
```java
|
||||
@@ -50,7 +49,6 @@ env.execute("Flink Streaming");
|
||||
|
||||
|
||||
|
||||
|
||||
### 2.2 Sliding Windows
|
||||
|
||||
滑动窗口用于滚动进行聚合分析,例如:每隔 6 分钟统计一次过去一小时内所有商品的点击量,那么统计窗口彼此之间就是存在重叠的,即 1天可以分为 240 个窗口。图示如下:
|
||||
@@ -58,7 +56,6 @@ env.execute("Flink Streaming");
|
||||
<div align="center"> <img src="https://github.com/heibaiying/BigData-Notes/blob/master/pictures/flink-sliding-windows.png"/> </div>
|
||||
|
||||
|
||||
|
||||
可以看到 window 1 - 4 这四个窗口彼此之间都存在着时间相等的重叠部分。想要实现滑动窗口,只需要在使用 timeWindow 方法时额外传递第二个参数作为滚动时间即可,具体如下:
|
||||
|
||||
```java
|
||||
@@ -73,11 +70,10 @@ timeWindow(Time.minutes(1),Time.seconds(3))
|
||||
<div align="center"> <img src="https://github.com/heibaiying/BigData-Notes/blob/master/pictures/flink-session-windows.png"/> </div>
|
||||
|
||||
|
||||
|
||||
具体的实现代码如下:
|
||||
|
||||
```java
|
||||
// 以处理时间为衡量标准,如果10秒内没有任何数据输入,就认为会话已经端口,此时触发统计
|
||||
// 以处理时间为衡量标准,如果10秒内没有任何数据输入,就认为会话已经关闭,此时触发统计
|
||||
window(ProcessingTimeSessionWindows.withGap(Time.seconds(10)))
|
||||
// 以事件时间为衡量标准
|
||||
window(EventTimeSessionWindows.withGap(Time.seconds(10)))
|
||||
@@ -90,7 +86,6 @@ window(EventTimeSessionWindows.withGap(Time.seconds(10)))
|
||||
<div align="center"> <img src="https://github.com/heibaiying/BigData-Notes/blob/master/pictures/flink-non-windowed.png"/> </div>
|
||||
|
||||
|
||||
|
||||
这里继续以上面词频统计的案例为例,示例代码如下:
|
||||
|
||||
```java
|
||||
|
||||
Reference in New Issue
Block a user