flink
大数据蝼蚁
一个菜菜菜鸟
展开
-
Flink--Table API 之表聚合函数(TableAggregateFunction)
自定义表聚合函数步骤如下:自定义一个类继承TableAggregateFunction类,实现三个方法:1.createAccumulator :用来初始化累加器2.accumulate:对于每一个新来的数据,调用该方法来更新累加器的值3.emitValue输出结果,使用 Collector对象的 .collect 方法输出例子:自定义一个表聚合函数,来更新获取每个传感器最大的两个温度/** * @program: flink2021 * @description: ${.原创 2021-09-27 20:01:20 · 793 阅读 · 0 评论 -
Flink --Table API 之聚合函数(AggregateFunction)
自定义聚合函数的步骤如下:自定义一个类,继承 AggregateFunction 类,实现其三个方法:1.createAccumulator :用来初始化累加器2.accumulate:对于每个输入的数据,调用该方法来更新累加器3.getValue: 获取累加器的值/** * @program: flink2021 * @description: ${description} * @author: Mr.G * @create: 2021-09-27 16:31 **..原创 2021-09-27 19:51:57 · 755 阅读 · 0 评论 -
Flink--Table API UDF函数之表函数
首先自定义一个类,继承TableFunction类,返回值类型由TableFunction的泛型决定,由protected collect 来发送结果数据。在Table API中,Table函数需要与.joinLateral或.leftOuterJoinLateral一起使用。在SQL 中,则需要 lateral table 来一起使用使用起来的结果有点类似 hive 的 lateral view/** * @program: flink2021 * @description:..原创 2021-09-27 15:46:18 · 533 阅读 · 0 评论 -
Flink--Table API UDF函数之标量函数
flink实现标量函数(scalarFunction)的方式是,自定义一个类,继承 ScalarFunction类,定义一个eval 函数,直接用def 不是override注意tableAPI的形式下,不需要注册该函数,可以直接调用实例化的对象但是在SQL形式下,需要先注册该函数/** * @program: flink2021 * @description: ${description} * @author: Mr.G * @create: 2021-09-27 13:31原创 2021-09-27 14:02:55 · 180 阅读 · 0 评论 -
Flink--Table API 和SQL入门案例
流式表处理的过程可以描述出下图:1.先把流转换成动态表 Stream=> table2.表经过一定操作,转成结果表 table (CRUD)=> table3.将表转换成流输出 table => Stream/** * @program: flink * @description: ${description} * @author: Mr.G * @create: 2021-09-26 19:21 **/package com...原创 2021-09-26 21:54:27 · 154 阅读 · 0 评论 -
Flink 实现端到端的exactly-once
在流处理中,一致性可以分为三个级别:1)at-most-once:最多一次,实际上就是对 不处理错误的委婉说法2)at-least-once:最少一次,这是最简单的处理错误的方法,当出现错误时,重发。最终结果可能会大于准确值,但绝不会小于准确值3)exactly-once:精确一次,这指的是系统发生错误时,也会得到准确的结果当spark-streaming实现exactly-once时,付出了性能代价。而flink在框架内部即保证了exactly-once,且不会牺牲很大的性能。之前我们原创 2021-09-24 12:06:48 · 434 阅读 · 0 评论 -
Flink的检查点(CheckPoint)算法
Flink检查点的核心作用是确保状态正确,即使遇到程序中断,也要正确。flink的检查点算法用到了一种特殊的数据类型checkpoint barrier (检查点分割线),在checkpoint barrier到来之前的所有状态更改都会存到该分割线所属检查点中,而在checkpoint barrier到来后的数据会存到下一个检查点中以下举例解析val stream: DataStream[(String, Int)] = ... val counts: DataStream[(Strin..原创 2021-09-23 21:58:29 · 1015 阅读 · 0 评论