
Flink读写外部系统
文章平均质量分 80
基于Flink的读写等相关文章
Recall-MK
这个作者很懒,什么都没留下…
展开
-
【Flink读写外部系统】Flink自定义kafka分区并输出
Flink数据发送到kafka,并自定义Kafka分区;注意这里是通过FlinkkafkaProducer将数据发送到kafka;跟下面的检查点是不一样的FlinkkafkaProducer下的消费保障总共分为3级别val kafkaSink = new FlinkKafkaProducer[ResultDt]("topicName", kafkaPro, FlinkKafkaProducer.Semantic.EXACTLY_ONCE)原创 2022-09-25 01:00:00 · 1196 阅读 · 0 评论 -
【Flink读写外部系统】Flink读取Kakfa与水位线的生成
Flink kafka提取事件时间生成水位线;可以通过调用FlinkKakfkaConsumer. assignTimestampsAndWatermarks()方法.同时向kafka消费者提供一个AssignerWithPeriodicWatermarks对象来定义水位线。 为了利用Kafka各个分区的保序性特征,分配器会在每个分区上定义水位线,然后再对各个分区之间的水位线进行合并。原创 2022-09-22 01:00:00 · 558 阅读 · 0 评论 -
【Flink读写外部系统】Flink异步访问外部系统_mysql
Flink异步读取Mysql操作Flink中提供的异步IO的模式,不需要使用map函数阻塞式的加载数据,而是使用异步方法同时处理大量请求 2. 不过这就需要数据库支持异步请求,如果不支持异步请求也可以手动维护线程池调用,只不过效率上没有原生的异步client更高效。 3. 比如Mysql可以通过Vertx支持异步查询(但我翻阅技术博客后发现,有的人说Vertx只支持scala版本2.12及以上的,具体没验证过),HBase2.x也支持异步查询原创 2022-09-19 23:26:07 · 1037 阅读 · 0 评论 -
【Flink读写外部系统】Flink自定义数据源函数_输出
读取数据源并输出到socket中,DataStream API为我们提供了一个专门的SinkFunction接口以及它对应的RichSinkFunction抽象类原创 2022-09-17 01:00:00 · 258 阅读 · 0 评论 -
【Flink】Flink中什么是富函数
目录在什么场景中使用富函数?如何使用富函数?富函数中的方法open()/close()如何通过代码实现一个富函数?在什么场景中使用富函数? 许多时候我们需要在函数处理第一条记录之前就进行一些初始话工作或是取得函数运行时相关的上下文信息。如何使用富函数? 我定义了一个map算子,现在我如果要在map算子在处理第一条记录之前,就想取得该函数运行时的相关信息,和进行一些初始话工作。那么代码就应当类似于如下方式:**.map(x=> 定义一个富函数)富函数中的方法open()/close()原创 2020-05-22 17:10:21 · 2223 阅读 · 0 评论 -
【Flink读写外部系统】Flink重启策略/配置重启策略
目录重启策略配置重启策略重启策略Flink何时才会重启?一个拥有检查点的应用如果出现问题,他会经过一些列步骤来进行重启。重启过程中可能会出现的问题?有些时候,应用可能会被相同的故障不断“杀死”举例: 当我处理数据的时候程序出现了Bug,导致处理算子出现异常,此时程序就会陷入一个循环中: 启动任务、恢复状态、继续处理。在继续处理的时候,由于这个Bug没有被修复,然后 启动任务、恢复状态、继续处理。类似于这样周而复始 … …Q:问题君来了,这里面的“启动任务”我是知道的.原创 2020-05-19 09:21:05 · 2490 阅读 · 2 评论 -
【Flink读写外部系统】Flink自定义数据源函数_读取mysql
实现自定义的数据源函数读取,Flink为我们提供了两个方法:SourceFunction通过实现RichSourceFunction来定义非并行的数据源连接器。ParllelSourceFunction通过试下RichParalleSourceFunction来定义能并行的数据源连接器。SourceFunction和ParallSourceFunction中定义了有两个方法:分别是run()方法和cancel()方法Run(): Run只会被原创 2020-05-17 11:15:06 · 2136 阅读 · 0 评论 -
【Flink】Flink_Kakfa自定义输出分区
在我们将消息写入kafka的topic时,我们可以通过FlinkkafkaPartitioner指定写入topic的哪个分区。在不指定的情况下,默认的分区器会将每个数据任务映射到一个单独的kafka分区中,即单个任务的所有记录都会发往同一分区。如果任务数多余分区数,则每个分区可能会包含多个任务发来的记录。 而如果任务数小于分区数,则默认配置会导致有些分区收不到数据。若此时恰好有使用事件时间的Flink应用消费了该Topic,那么可能会导致问题;导致问题的原因Flink_Kafka为了利用Ka.原创 2020-05-16 19:58:53 · 916 阅读 · 0 评论 -
【Flink】Flink_Kakfa详解及描述
目录Topic(主题与分区)Flink_Kafka连接器(flink-connector-kafka_2.12)Flink_Kafka提取事件时间生成水位线Topic(主题与分区)Kafka将事件流,组织为不同的主题(Topic)。每个主题都是一个事件日志,其事件读取顺序和写入顺序完全相同。为了实现主体读写的伸缩性,Kafka允许用户在创建topic时定义分区,即将topic拆分为多个分区分散在集群上。同时对每个分区上的事件提供保序,但kafka不能保证不同分区之间的事件顺序,因此原创 2020-05-16 19:49:46 · 428 阅读 · 0 评论 -
【Flink】Flink读写文件
读写文件1 读取文件-readFile2 写入到文件-StreamingFileSink 2.1 在了解-StreamingFileSink之前你需要了解的知识点 2.1.1 结论 2.2 行编码 2.2.1 行编码自定义-BucketAssigner 2.3 批量编码 2.3.1 批量编码自定义-BucketAssigner1 读取文件-readFileQ:什么是文件数据源?A:Apache Flink提供了一个可重置的数据源连接器,支持将原创 2020-05-15 10:57:25 · 9520 阅读 · 0 评论 -
【Flink】Flink事件时间何时触发窗口计算
Flink使用事件时间时何时才会触发窗口计算1.1 浏览本博客前你需要了解的知识点 flink内部是划分窗口范围的? 触发的条件? 何时第一次触发?1.2 示例:触发窗口计算 第一次触发计算 何时第二次触发计算 何时触发多个窗口计算?思考: 什么时候才会触发窗口计算? 既然使用的是事件时间那么必然会涉及到水位线(water_mark),水位线在其中扮演的角色是什么? 此时我们带着疑问,一步一步的探究注意:1、本篇博客中的所有解释都是在滚动窗口原创 2020-05-12 15:55:41 · 5409 阅读 · 1 评论 -
【Flink】Flink时间概念与水位线
注意:本篇博客中的所有解释都是在滚动窗口的前提下目录1 时间概念类型1.1 事件生成时间(Event Time)1.2 事件接入时间(Ingestion Time)1.3 事件处理时间(Processing Time)1.4 指定时间概念2 water_mark(水位线)2.1 water_mark是如何生成的?2.2 最大允许乱序时间如何理解?2.3 Flink中的water_marker机制1 时间概念类型1.1 事件生成时间(Event Time) 在事件时间模式下,Flink流式应用处原创 2020-05-11 18:40:35 · 1082 阅读 · 0 评论