Flink学习之旅----深度认识Flink

概述

Flink简介

基于数据流的有状态的计算、
是一个框架也是一个分布式计算引擎
作用在有界无界的数据流上的有状态计算

有界和无界数据

无界数据:有开始没有结束,中间不会被中断,数据是被持续的处理,不可能等所有的数据全部到达的时候才进行处理
有界数据:有开始有结束,处理有界的数据就是一种批处理

Batch vs Stream 批处理和流处理的区别

Batch

Batch批处理是处理有界的数据

Stream

Stream流处理是处理无界的数据

Flink

Flink是可以处理有界和无界的,所以既可以流处理,又可以进行批处理,所以可以处理实时和记录的流

layer接口的层级

1.Stateful EventDriven Applications

ProcessFunction 事件驱动的api,需要自己去实现提供的方法
最具表达力的功能接口,让我们来处理一个或者多个输入流或者事件
这些事件是分组在windows中

2.Stream&Batch Data Processing 流和批处理

DataStream API
提供流处理转化,增强事件查询
工作中主要处理的

3.High-level Analytics API

SQL/Table API
关系型的操作

这些接口主要是起到间接性和表达性的权衡

应用程序运行方式多样化

运行模式:
部署在如何地方,Flink可以跑在Hadoop yarn Apache Mesos,and Kubernetes但是可以可以跑在stand-alone(可以搭一个flink集群)
我们部署一个Flink应用程序,它会自动去识别在那个应用所配置的资源,如果出现异常和故障的时候,Flink会替换有问题的container,通过重新申请一个新的,通过rest接口调用的
运行的程序可以是任意一个规模,处理过程当中执行一次

Flink vs Storm vs Spark Streaming

Spark:Streaming 结构化流 批处理为主 流式处理是批处理的一个特例(mini batch)
Flink:流式为主,批处理是流式处理的一个特例
Strom:流式 Tuple

应用场景

支持流和批处理,复杂的状态管理包括(基于事件时间的处理,而且支持一次性保证的状态),部署各种各样资源的管理,Yarn Mesos Kubernetes and stand-alone cluster
配置高可用,就不用担心单点故障的问题,很高的吞吐量和低延迟

事件驱动 :
1.欺诈的检测
2.异常的检测
3.基于规则的告警

业务处理的监控
1.web应用程序的处理
2.数据分析
3.电信网络的质量监控
4.产品更新的分析
5.ad-hoc分析
6.图计算

数据管道
1.实时搜索索引的构建
2.持续的ETL

发布了50 篇原创文章 · 获赞 35 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/qq_35905501/article/details/89791073