Flink
文章平均质量分 84
Appreciate(欣赏)
有志者、事竟成,破釜沉舟,百二秦关终属楚;苦心人、天不负,卧薪尝胆,三千越甲可吞吴
展开
-
FlinkCEP复杂事件处理(Complex Event Processing)
所谓 CEP,其实就是“复杂事件处理(Complex Event Processing)”的缩写;而 Flink CEP,就是 Flink 实现的一个用于复杂事件处理的库(library)。那到底什么是“复杂事件处理”呢?就是可以在事件流里,检测到特定的事件组合并进行处理,比如说“连续登录失败”,或者“订单支付超时”等等。具体的处理过程是,把事件流中的一个个简单事件,通过一定的规则匹配组合起来,这就是“复杂事件”;然后基于这些满足规则的一组组复杂事件进行转换处理,得到想要的结果进行。原创 2024-06-02 21:17:47 · 678 阅读 · 0 评论 -
Flink的SQL开发
Table API和SQL是最上层的API,在Flink中这两种API被集成在一起,SQL执行的对象也是Flink中的表(Table),所以我们一般会认为它们是一体的。Flink是批流统一的处理框架,无论是批处理(DataSet API)还是流处理(DataStream API),在上层应用中都可以直接使用Table API或者SQL来实现;这两种API对于一张表执行相同的查询操作,得到的结果是完全一样的原创 2024-01-29 12:52:14 · 1363 阅读 · 0 评论 -
FlinkAPI开发之FlinkSQL
这里的依赖是一个Java的“桥接器”(bridge),主要就是负责Table API和下层DataStream API的连接支持,按照不同的语言分为Java版和Scala版。原创 2024-01-24 13:17:14 · 1675 阅读 · 0 评论 -
Dinky安装和部署
Dinky 是一个开箱即用、易扩展,以 Apache Flink 为基础,连接 OLAP 和数据湖等众多框架的一站式实时计算平台,致力于流批一体和湖仓一体的探索与实践。原创 2024-01-21 14:57:30 · 2011 阅读 · 0 评论 -
FlinkAPI开发之容错机制
既然是端到端的exactly-once,我们依然可以从三个组件的角度来进行分析:(1)Flink内部Flink内部可以通过检查点机制保证状态和处理结果的exactly-once语义。(2)输入端输入数据源端的Kafka可以对数据进行持久化保存,并可以重置偏移量(offset)。所以我们可以在Source任务(FlinkKafkaConsumer)中将当前读取的偏移量保存为算子状态,写入到检查点中;原创 2024-01-18 13:56:47 · 1210 阅读 · 0 评论 -
FlinkAPI开发之状态管理
Flink的状态有两种:托管状态(Managed State)和原始状态(Raw State)。托管状态就是由Flink统一管理的,状态的存储访问、故障恢复和重组等一系列问题都由Flink实现,我们只要调接口就可以;而原始状态则是自定义的,相当于就是开辟了一块内存,需要我们自己管理,实现状态的序列化和故障恢复。通常我们采用Flink托管状态来实现需求。原创 2024-01-18 13:15:12 · 1297 阅读 · 0 评论 -
FlinkAPI开发之水位线(Watermark)
在Flink中,用来衡量事件时间进展的标记,就被称作“水位线”(Watermark)。具体实现上,水位线可以看作一条特殊的数据记录,它是插入到数据流中的一个标记点,主要内容就是一个时间戳,用来指示当前的事件时间。而它插入流中的位置,就应该是在某个数据到来之后;这样就可以从这个数据中提取时间戳,作为当前水位线的时间戳了。周期性生成器一般是通过onEvent()观察判断输入的事件,而在onPeriodicEmit()里发出水位线原创 2024-01-16 14:10:38 · 1154 阅读 · 0 评论 -
FlinkAPI开发之处理函数
之前所介绍的流处理API,无论是基本的转换、聚合,还是更为复杂的窗口操作,其实都是基于DataStream进行转换的,所以可以统称为DataStream API。在Flink更底层,我们可以不定义任何具体的算子(比如map,filter,或者window),而只是提炼出一个统一的“处理”(process)操作——它是所有转换算子的一个概括性的表达,可以自定义处理逻辑,所以这一层接口就被叫作“处理函数”(process function)。原创 2024-01-16 14:08:52 · 1042 阅读 · 0 评论 -
FlinkAPI开发之窗口(Window)
Flink是一种流式计算引擎,主要是来处理无界数据流的,数据源源不断、无穷无尽。想要更加方便高效地处理无界流,一种方式就是将无限数据切割成有限的“数据块”进行处理,这就是所谓的“窗口”(Window)。原创 2024-01-10 14:36:09 · 1510 阅读 · 0 评论 -
FlinkAPI开发之数据合流
在实际应用中,我们经常会遇到来源不同的多条流,需要将它们的数据进行联合处理。所以Flink中合流的操作会更加普遍,对应的API也更加丰富。原创 2024-01-07 15:35:02 · 1781 阅读 · 1 评论 -
FlinkAPI开发之数据分流
绝大多数转换算子,输出的都是单一流,流里的数据类型只能有一种。而侧输出流可以认为是“主流”上分叉出的“支流”,所以可以由一条流产生出多条流,而且这些流中的数据类型还可以不一样。利用这个功能可以很容易地实现“分流”操作。原创 2024-01-07 10:47:32 · 454 阅读 · 0 评论 -
FlinkAPI开发之自定义函数UDF
用户自定义函数(user-defined function,UDF),即用户可以根据自身需求,重新实现算子的逻辑。。原创 2024-01-07 09:55:18 · 1244 阅读 · 0 评论 -
Flink自定义Source模拟数据流
Flink自定义Source模拟数据流。原创 2024-01-07 09:32:55 · 751 阅读 · 0 评论