什么是实时流数据?
用户在浏览网页或操作App时,其操作行为会源源不断地汇集成日志。游戏玩家在玩游戏的时候,也会产生源源不断的操作记录。这些持续生成的数据便是实时流数据。
流计算较批量计算的优势在哪里?
批量计算需要收集齐数据,才开始进行各种复杂计算,周期可能是几个小时到1天;流计算则是针对流数据处理,无需收集齐数据,近乎实时地对数据进行处理,有利于实时监控业务和发现新机会。流式计算框架实现了高吞吐,低延时,高性能兼具流式计算模式。
Blink
基础原理
flink核心 Flink 中每一个 TaskManager 都是一个JVM进程,它可能会在独立的线程上执行一个或多个 subtask
flink运行环境 StreamExecutionEnvironment 的socketTextStream 方法并不是自己监听一个端口,起一个服务队,等你给他发消息。是你先得通过nc 启动这个端口,然后flink再与之建立socket连接
Window机制
Tumbling Windows vs Sliding Windows 可以将Tumbling Windows看作是Sliding Windows的特殊情况,当Sliding Windows的滑动时间和窗口时间是一样的时候,这时候Sliding Windows窗口之间就不会重叠,这就是Tumbling Windows 在Flink中存在非常丰富的窗口函数,包括Global Windows、Tumbling Windows、Sliding Windows以及Session Windows等等,这也是Flink功能强大的一面
flink sql tumble函数用在group by子句中,用来定义滚动窗口。
TUMBLE(ptime, INTERVAL ‘5’ MINUTE), TUMBLE(ts, INTERVAL ‘1’ MINUTE)
UDF
flink的udf—自定义函数(UDF)是一种扩展开发机制,可以用来在查询语句里调用难以用其他方式表达的频繁使用或自定义的逻辑 https://ohmyweekly.github.io/notes/2020-08-22-table-api-user-defined-functions/
|