flink
文章平均质量分 81
本专栏主要讲述flink的一些架构理论、工作中的使用、遇到的问题、源码分析等。
橙子园
落地生根,长成参天大树
展开
-
flink实战:flink自定义sink,以入solr、mongodb为例
自定义sink需要继承 RichSinkFunction,重写open、invoke、close三个方法,open方法主要实现一些公共资源的开启工作,如mongo、solr的连接客户端。invoke会在每条数据进入后调用,主要写一些数据的转化、插入、查询等具体的实际业务。这个查询了mongo中的数据,转化长对应的javaBean,更新了传入的javaBean以后,转化成document,存入mongodb。下面我给大家两个实例,一个是sink solr的,一个是sink mongo的。原创 2022-12-29 11:52:49 · 1300 阅读 · 2 评论 -
flink报错踩坑:org.apache.flink.table.catalog.hive.client.HiveShimV100.registerTemporaryFunction
当想使用本地开发环境运行flink读写线上hive数据来运行时报错。我使用maven管理的开发环境依赖。由于代码发布到测试环境集群上跑时并没有报错,而测试环境对应的依赖都是使用放在上面的依赖jar的,并不使用本地maven管理的依赖(也就是没有打入项目jar)。所以我猜测是本地运行环境依赖有问题,也就是项目中maven的pom文件的依赖有问题。在多次检查该项目中maven的pom文件导入的依赖和反复查看flink Table API Connector针对hive的官方文档后终于解决了问题。下面是我处理问题原创 2022-06-11 15:34:55 · 2554 阅读 · 11 评论 -
报错:Could not find a suitable table factory for ‘org.apache.flink.table.factories.TableSourceFactory
重要错误提示:这是在提交yarn时报的错误,原因其实就是少了一些包,提交的集群后一些依赖包使用flink的lib目录下的,所以我需要将一些依赖包放到lib目录下。我们看到缺少的是org.apache.flink.table.factories.TableSourceFactory类,所以对应的应该是flink连接JDBC的包。这里我们去官网上下载你对应flink版本的连接JDBC的包,如下图:放到提交集群的客户机部署的flink的lib目录下。可以看到上面最主要的是缺少依赖包,其实像很多类似的错误都是由于原创 2022-06-08 18:01:54 · 4981 阅读 · 6 评论 -
flink-sql入es报错:Missing required options are document-type
我是在flink-sql创建es表的时候报的错,报错提示缺少对应的options,及document-type,我连忙去flink官方文档查找答案:https://nightlies.apache.org/flink/flink-docs-release-1.13/docs/connectors/table/elasticsearch/#document-type从官方文档给出的连接参数可以看出document-type在es6中需要指定,而在es7中无需指定,原因大概是6.0版本及以前一个索引里可以创建原创 2022-06-02 18:23:40 · 1945 阅读 · 7 评论 -
【大数据】带你理解并使用flink中的WaterMark机制
flink 中watermark的window的使用、原理、易错点,新旧api的使用全部内容原创 2022-04-19 15:17:21 · 2649 阅读 · 40 评论 -
【大数据】带你理解并使用flink中的Time、Window(窗口)、Windows Function(窗口函数)
这篇文章带你理清大数据开发中flink中time、window使用概念、实战的内容,欢迎大家品读,同时示例代码也是基于最新的flink1.13开发。原创 2022-04-14 09:49:26 · 3732 阅读 · 33 评论 -
【大数据】带你理解flink的state概念
文章目录一、概述1、简介2、 State backend2.1、MemoryStateBackend2.2、FsStatebackend:2.3、 RocksDBStateBackend二、state的类型1、原生状态(raw state)2、托管状态(managed state)3、两种形式3.1 Operator State(算子状态)3.2 keyed State(键控状态)3.2.1、ValueState3.2.2、ListState3.2.3、MapState3.2.4、ReducingState原创 2022-04-12 11:30:06 · 1287 阅读 · 27 评论 -
flink问题集锦
报错一:Could not get job jar and dependencies from JAR file: JAR file does not exist: -yn原因:flink1.8版本之后已弃用该参数,ResourceManager将自动启动所需的尽可能多的容器,以满足作业请求的并行性。解决方法:去掉即可报错二:java.lang.IllegalStateException: No Executor found. Please make sure to export the HA原创 2022-03-18 18:27:27 · 4074 阅读 · 0 评论 -
【大数据】flink保证Exactly_Once的理解
满足三点,可以保证端到端的Exactly_Once1.开启checkpoint2.source支持数据重发3.sink端幂等性写入、事务性写入。我们常使用事务性写入sink 事务性写入分为两种方式1、WAL(预写日志的方式):先将数据当作状态保存,当收到checkpoint完成通知后,一次性sink到下游系统2、2pc(两阶段提交):大致的实现的过程就是:* 开始事务(beginTransaction)创建一个临时文件夹,来写把数据写入到这个文件夹里面。* 预提交(preCommit)将内存原创 2022-04-03 11:39:20 · 4001 阅读 · 13 评论