
Flink技术研究与应用
本专栏专注于Flink相关技术的研究及实际应用的落地。
anickname
专注大数据技术
展开
-
Flink SQL自定义TableSource读取Kudu数据
本文基于Flink1.9,之前文章基于Flink1.6。在Flink的官方文档中提供了很多connector用于连接外部系统数据源。如果提供的connector不能满足需要,还可以通过自定义方式定义读取外部数据源的逻辑。本文的背景就是使用SQL查询批量数据,但是批量数据存储在kudu中,由于没有提供connector所以需要自定义读取数据逻辑。官方文档中给出了自定义批量数据读取的实现方式:...原创 2019-12-13 11:34:54 · 6416 阅读 · 0 评论 -
Spring Boot整合Flink
使用spring boot整合flink可以快速的构建起整个应用,将关注点重点放在业务逻辑的实现上。在整合的过程中遇到许多问题,最大的问题是flink流无法访问spring容器中的类,从而导致空指针异常,解决思路是在流中进行spring bean的初始化以获得ApplicationContext,进而使用其getBean方法获取类实例。软件版本:Spring Boot 2.1.6+Flink1...原创 2019-07-04 22:46:43 · 42872 阅读 · 20 评论 -
Flink状态后端的使用
Flink提供了以下三种开箱即用的状态后端(用于存储状态数据),可以为所有flink作业配置相同的状态后端(flink-conf.yaml ),也可以为每个flink作业配置指定的状态后端。MemoryStateBackend FsStateBackend RocksDBStateBackend至于在实际应用中应该选择何种状态后端,需要结合业务场景及三种状态后端的特点以做出最佳选择,本文...原创 2019-02-13 14:14:16 · 4261 阅读 · 0 评论 -
Flink实现状态数据互相访问(即依赖数据访问,类似表之间的Join)
在流处理应用中,对单个event的处理如果不涉及与其他event交互或访问是比较简单的。但是如果对单个event的处理依赖其他topic过来的event或者后续处理的event依赖当前处理的event,这种情景类似于多表之间join,A和B join取A表的某几个字段。使用flink的state就可以实现。一个场景如下: 课程信息(table,class_id,class_name...原创 2019-02-11 16:00:45 · 4907 阅读 · 0 评论 -
Flink状态计算实例与状态数据恢复(checkpoint)
状态计算,简单的理解是本次计算依赖于之前的计算结果,比如,根据key计算求和值,如:key value1001,3000-------------(1001,3000)1002,500--------------(1002,500)1001,400--------------(1001,3400)其中计算第三条数据1001,400时需要累加到之前已经计算好的1001,300...原创 2019-01-10 11:37:54 · 9808 阅读 · 0 评论 -
Flink读写系列之-读Kafka并写入Kafka
读写Kafka比较简单,官方提供了connector,也提供了例子可以参看,官网例子的GitHub地址:https://github.com/apache/flink/tree/master/flink-examples/flink-examples-streaming/src/main/java/org/apache/flink/streaming/examples/kafka下面只做简...原创 2018-10-22 10:56:57 · 7947 阅读 · 2 评论 -
Flink读写系列之-读HBase并写入HBase
这里读HBase提供两种方式,一种是继承RichSourceFunction,重写父类方法,一种是实现OutputFormat接口,具体代码如下:方式一:继承RichSourceFunctionpackage com.my.flink.utils.streaming.hbase;import com.my.flink.utils.config.ConfigKeys;import o...原创 2018-10-22 10:37:36 · 22894 阅读 · 0 评论 -
Flink读写系列之-读mysql并写入mysql
在Flink文档中,提供connector读取源数据和把处理结果存储到外部系统中。但是没有提供数据库的connector,如果要读写数据库,官网给出了异步IO(Asynchronous I/O)专门用于访问外部数据,详细可看:https://ci.apache.org/projects/flink/flink-docs-release-1.6/dev/stream/operators/asyn...原创 2018-10-19 14:48:59 · 28002 阅读 · 2 评论 -
Flink爬坑问题总结
一.隐式转换问题错误:could not find implicit value for evidence parameter of type org.apache.flink.api.common.typeinfo.TypeInformation[String]1.导入包import org.apache.flink.api.scala._2.在类中显示定义隐式转换,如:...原创 2018-10-19 11:30:34 · 5234 阅读 · 0 评论