自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 收藏
  • 关注

原创 FlinkSQL之Windowing TVF

在Flink1.13版本之后出现的替代之前的Group window的产物,官网描述其 is more powerful and effective

2022-11-01 19:32:56 500 1

原创 FlinkSql之TableAPI详解

这意味着 Table API & SQL 在无论有限的批式输入还是无限的流式输入下,都具有相同的语义。2.上述两种方法内传入的参数Row.class,表示将表中查询出的数据封装为行类型,也就是对每行进行封装,解决查询出的数据列少于或者多于原表。如何能够确保所查询的数据与之前封装的Bean有完全一致的结构则也可以封装为原Bean.class。使用TableAPI读取文件时,我们首先需要知道去哪里读取也就是文件路径、读取文件的格式、读取出来的数据的结构也就是结果表的表结构及表名。2>创建查询出的数据写出结构。

2022-10-31 20:41:55 939

原创 Flink之实现kafka端到端的精确一次

端到端的状态一致性的实现,需要每一个组件都实现,对于Flink + Kafka的数据管道系统(Kafka进、Kafka出)而言,各组件怎样保证exactly-once语义呢?source —— kafka consumer作为source,可以将偏移量保存下来,如果后续任务出现了故障,恢复的时候可以由连接器重置偏移量,重新消费数据,保证一致性。内部 —— 利用checkpoint机制,把状态存盘,发生故障的时候可以恢复,保证部的状态一致性。sink端:精确一次,依赖kafka的两阶段提交。

2022-10-28 21:29:54 1701

原创 Flink之状态编程

例如,计算过去一小时的平均水位,就是有状态的计算。检查输入流是否符合某个特定的模式,需要将之前流入的元素以状态的形式缓存下来。开启CheckPoint可以让我们能够无限次的重启Task这样来足以应对流式计算,但如何在Task重启后恢复之前存档的状态呢?数据流中的数据有重复,我们想对重复数据去重,需要记录哪些数据已经流入过应用,当新数据流入时,根据已流入过的数据来判断去重。故障转移机制受限于用户所设置的重启次数,一旦达到最大重启次数后将不再进行重启而是直接err,而且状态会丢失。无状态计算:无状态的计算。

2022-10-27 11:04:12 961

原创 Flin如何处理乱序数据

设置延迟窗口的关闭事件后,计算后不会关闭,给后续的乱序数据提供了计算的机会,使其能够进入窗口。当乱序数据在窗口的end时间触发计算后依旧能够进入,但仅限于end时间+窗口延迟时间之前,当水印推进到了此事件后窗口会彻底关闭。在水印产生处设置一个乱序容忍度,可以推迟系统时间的推进,保证窗口计算被延迟执行,乱序的数据可以争取更多的时间去进入窗口。在设置了乱序容忍度后依旧有乱序数据没有被计算到,就可以使用延迟窗口的关闭。3>使用测流接收窗口关闭后的乱序数据。

2022-10-27 09:32:04 255

原创 DataStreamAPI之Sink

FlinkSink的各个分类及使用

2022-10-25 18:52:17 625

原创 Flink如何使用DataStreamAPI消费Kafka

网址:https://nightlies.apache.org/flink/flink-docs-release-1.13/zh/docs/connectors/datastream/kafka/1、flink的kafkaSource默认是把消费的offsets提交到当前Task的状态中,并不会主动提交到kafka的——consumer_offsets中。所以,上述代码无论运行多少次消费的都是一样的内容,想要达到这次消费起始位置是上次消费的最后一条的情况。

2022-10-22 17:02:51 643

原创 Hive中Hql关于行转列及列转行的综合应用

【代码】Hive中Hql关于行转列及列转行的综合应用。

2022-10-17 18:10:35 375

原创 maven配置步骤及问题

运行任何一个阶段的时候,它前面的所有阶段都会被运行,例如我们运行mvn install 的时候,代码会被编译,测试,打包。此外,Maven的插件机制是完全依赖Maven的生命周期的,因此理解生命周期至关重要。但是如果我们一个一个修改,就会很麻烦。所以我们可以自定义一个标签进行统一管理依赖的版本号,类似于java中的变量赋值,当需要修改时就可以统一修改,此标签需要写在pro.xml的最上面。这里“声明”的先后顺序指的是dependency标签配置的先后顺序,也就是本工程依赖写在xml文件中最前面的jar包。

2022-10-17 18:06:33 220 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除