流式计算框架有Strom,Spark,Flink
目前Spark主要应用于离线数据批量导入,相比于XDATA导入工具是有逻辑处理的,微批处理能力不错;
Strom主要应用于MQ的实时消费(push过来的数据),来一条数据处理一条数据,实时性比较好
Flink大数据的新趋势,功能强大,批处理和实时处理,丰富的窗口功能:
checkpoint:保证数据不丢失
offset:每一条消息有个位置标记以便于系统出故障时可以重新消费,flink内存:统计计算
Event time (事件时间) :印刷时间 比如前段埋点的时间,目前一般用的Event time,但如果Event time也有些延迟的话,需要借助设置水位来缓冲,保证数据不丢失
Windows窗口:
Tumbling Windows(翻转窗口)
Sliding Windows(滑动窗口)
window slide: 精准度
window size:窗口大小
Session Windows(会话窗口)
Time时间:
Event time (事件时间) :印刷时间 比如前段埋点的时间
Ingestion time(提取时间):提取时间 数据采集的时间
Processing time(处理时间):处理时间 flink处理时间
Watermarks水印:
案例:
实时特征计算:
要求数据实效性达到秒级
最近15分钟保险勾选、取消次数
最近30分钟保险勾选、取消次数
最近60分钟保险勾选、取消次数
采用的滑动窗口
KAFKA消息单位时间内统计:比如统计保险15min点击勾选数
1、每5S收集一次后再进行叠加计算
2、flink窗口计算
3、内存存储是否足够
4、消息是否有丢失
测试功能点:
数据来源正确性验证
消息正确性验证
消息丢失率验证
flink窗口测试
流式计算测试
内存存储测试
故障恢复测试