Flink
Flink学习的个人笔记
Drgom
多做事,少说话
展开
-
flink打包运行的clickhouse的jar无法识别问题
问题Caused by: java.sql.SQLException: No suitable driver found for jdbc:ch://t1:8123/alibaba解决策略修改pom,添加scope,设置属性为provided <dependency> <!-- will stop using ru.yandex.clickhouse starting from 0.4.0 --> <gro原创 2022-02-20 20:24:14 · 1165 阅读 · 0 评论 -
flinksql的初始化
Mavn的依赖 <properties> <java.version>1.8</java.version> <maven.compiler.source>${java.version}</maven.compiler.source> <maven.compiler.target>${java.version}</maven.compiler.target>原创 2022-02-17 19:35:23 · 680 阅读 · 0 评论 -
flinksql自定义mysql sink
因为我接下去想尝试搭建基于docker的mysql集群,因此连接的docker版本的mysql,出了几个小问题,一个是关闭ssl认证,一个修改mavn版本提升到8.0.11 否则会报caching_sha2_password 的错误 <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId>原创 2021-10-05 22:18:43 · 841 阅读 · 0 评论 -
flinksql的新旧api调用
导入依赖 <dependency> <groupId>org.apache.flink</groupId> <artifactId>flink-scala_2.12</artifactId> <version>1.10.1</version> </dependency> <!-- https://mvn原创 2021-09-20 12:55:20 · 154 阅读 · 0 评论 -
flink状态编程的例子
package redo.stateimport org.apache.flink.api.common.functions.{IterationRuntimeContext, RichFlatMapFunction, RichFunction, RichMapFunction, RuntimeContext}import org.apache.flink.api.common.state.{ListState, ListStateDescriptor, MapState, MapStateDescr原创 2021-09-18 22:30:36 · 290 阅读 · 0 评论 -
flink的精确一次的实现原理
flink的精确一次性需要有以下保证:一 checkpointcheckpoint是flink实现的精确一次性的保证,checkpoint的原理其实与flink的watermark是相似的,简而言之是一定时间后触发操作,进行状态的保存,在所有任务保存完毕后,向JobManager提示检查点保存工作完成。一旦flink执行出错,可根据检查点重启,尽快恢复工作二 source端是可重放的根据检查点机制只能恢复到上一个状态,但如果新的数据是不可重放的,意味着任务失败前,上一个检查点的状态的数据会原创 2021-09-18 22:29:10 · 4452 阅读 · 0 评论 -
Flink的KeyedProcessFunction监控kfaka数据实战
flink接受消费kafka数据,由KeyedProcessFunction监控kafka的数据值,如果十秒内,kafka的数据值连续上升,输出报警语句package redo.sourceimport org.apache.flink.api.common.serialization.SimpleStringSchemaimport org.apache.flink.api.common.state.{ValueState, ValueStateDescriptor}import org.apa原创 2021-09-17 22:31:35 · 238 阅读 · 0 评论 -
Flink自定义source读取clickhouse
昨晚想从clickhouse读取数据,愣是没找到clickhouse的flink的读取方法,一百度都是slink的,最后是找到一个clickhouse官方提供的jdbc方法,但还是用游标,好吧凑合着用官方链接package redo.sourceimport org.apache.flink.streaming.api.scala.StreamExecutionEnvironmentimport org.apache.flink.api.scala._import org.apache.fl原创 2021-09-17 11:42:58 · 3251 阅读 · 2 评论 -
flink连接kafka,redis以及Es代码
flink默认支持了多种sink,如kafka和es,如果没有flink默认支持的,可以使用Apache Bair一 连接kafka<dependency> <groupId>org.apache.flink</groupId> <artifactId>flink-connector-kafka-0.11_2.12</artifactId> <version>原创 2021-09-16 11:25:59 · 388 阅读 · 0 评论 -
Flink的简单的source实现
Flink的处理流程一 从集合读取数据import bag.day01.SensorReadingimport org.apache.flink.streaming.api.scala.StreamExecutionEnvironment//提供隐式转换import org.apache.flink.api.scala._object CollectionSuource { def main(args: Array[String]): Unit = { val env =Stre原创 2021-09-14 13:31:48 · 202 阅读 · 0 评论 -
Flink的架构理解
一 有状态的流批一体flink被推崇的原因在于,flink实现了流批的一体化,克服了SparkStream的微批次的缺点,实现了真正的流式数据,支持kafka这种无界流,也支持text和hdfs这种批式文件。flink与之前流行的spark的不同之处在于,flink是以消息驱动的,一条消息处理一次,最重要的是引入状态机制。flink的状态机制保存了流的信息,具有访问,故障恢复的功能。一条信息消息进入后,只需要修改flink的状态,效率更高。...原创 2021-09-13 22:07:19 · 124 阅读 · 0 评论