![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
flink
kevin_wf
总结分享java,大数据相关开发运维工作,欢迎交流,共同进步
展开
-
flink sql开发平台
flink在实时计算方面越来越受欢迎,为了降低开发难度成本很多公司开始研发flink开发平台,业务开发只需写sql就行。flink ververica公司开源了flink-sql-gateway,flink-jdbc-driver 两个项目,使flink开发可以像mr一样写sql。不过这两个项目现在都没更新了,flink官方打算在1.16中支持 flink jdbc。还可以基于zeppelin flink sdk去开发。我基于flink-sql-gateway开发了个简易的flink sql开发平台。...原创 2022-08-31 17:55:28 · 1359 阅读 · 2 评论 -
flink读写hbase
开发flink读写hbase的程序时遇到总是连接本地localhost:2181 zookeeper的异常,demo如下:代码总明明配置了zookeeper地址,执行时却总连接本地,跟踪代码发现,其创建连接并没有使用该配置,而是默认读取类路径下的hbase-site.xml配置文件,所以添加hbase配置文件,运行正常。以下是平时flink测试时使用的依赖,供参考。<properties> <spark.version>2.2.0</spark.ve.原创 2020-07-16 14:35:24 · 1907 阅读 · 0 评论 -
flink1.10 提交java sql ddl程序异常
flink1.10对ddl这块支持比较完善,最近用java写了个ddl kafka的demo测试。在ide本地环境中执行没有问题,但将任务打包提交的flink 集群时提交就报错,无法执行,异常如下:看异常好像是ddl写错了,本地运行正常,说明没有问题。使用flink sql-client客户端测试报一样的错,flink lib下没有对应的包,将包放到lib下,使用sql-client执行...原创 2020-03-17 20:42:15 · 1022 阅读 · 1 评论 -
flink table 使用Kafka Connector处理复杂json
flink kafka connector处理复杂json字符串,直接上代码。StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment(); EnvironmentSettings bsSettings = EnvironmentSettings.newInsta...原创 2019-12-30 18:15:12 · 2037 阅读 · 2 评论 -
flink table 使用Kafka Connector处理嵌套json
使用flink table api 连接kafka 处理json类型数据,单层json处理比较简单,官方或网上都有很多例子,处理嵌套的json数据没什么介绍。处理嵌套json数据主要是schema定义。 StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment(...原创 2019-12-17 18:19:16 · 2503 阅读 · 3 评论 -
flink 广播变量
使用过spark的人都知道广播变量这个概念。广播变量相当于一个共享变量,将一个小数据集复制分发到每个task,task直接从本地读取。flink中有两种广播变量,一种静态的广播变量,一种实时动态的广播变量。 静态广播变量示例: 使用场景如: 黑名单判断,将黑名单广播出去进行数据匹配。public class FlinkBroadcast2 { pub...原创 2019-11-05 18:31:24 · 2225 阅读 · 3 评论 -
flink异步IO
使用flink进行数据处理时,我们经常会需要跟外部系统交换,比如查询mysql。每一条数据都访问一次外部系统,等待响应,再往下执行,这种等待会占用很大一部分数据处理时间。为此flink提供了异步IO API,异步访问外部系统,并行处理,同时响应,节省访问等待时间。采用flink做实时数仓基本会使用异步io api去join维表。下面通过一个简单的demo介绍下异步IO API...原创 2019-11-05 18:31:08 · 472 阅读 · 0 评论 -
flink kafka自定义反序列化
flink kafka实时流计算时,通常会有将多个topic数据接入计算,而这时通常需要区分消息属于哪个topic进行针对处理。spark默认就将topic信息同kafka 消息一起提供出来了,flink 提供的SimpleStringSchema反序列化默认只将消息输出,topic信息没有,JSONKeyValueDeserializationSchema类提供了topic消息,要...原创 2019-08-01 21:26:07 · 5378 阅读 · 1 评论 -
flink jdbc连接器
flink提供很多访问其他数据源的连接器,访问其他第三方数据源变得简单高效。下面就是flink提供的一些连接器,使用时只需引入需要的包。在使用flink处理数据后,我们经常会将结果写入数据库,供其它业务使用。 private static String driverClass = "com.mysql.jdbc.Driver"; private static...原创 2019-07-13 21:33:41 · 7578 阅读 · 3 评论 -
flink drools开发
flink本身已有cep引擎,用户可以直接使用。本文介绍下flink drools集成开发,实现规则代码分离。项目代码结构如下:pom maven配置: <properties> <!--<drools.version>7.23.0.Final</drools.version>--> <d...原创 2019-07-03 20:51:39 · 4421 阅读 · 5 评论 -
flink 编程模型
在大数据开发领域,每个大数据开发框架都有着自己固定的编程模型。用户只有按照这套流程实现自己的业务逻辑即可。flink也有着自己固定的开发模式,流,批开发模式一样,只是调用的类不一样,社区也在计划统一api。flink支持java,scala,python语言开发,flink开发的大多少都是使用java。java api 在 org.apache.flink.api.java.*,scala a...原创 2019-06-26 21:30:07 · 146 阅读 · 0 评论 -
flink cep api介绍
flink cep 复杂事件处理引擎,可以实时分析数据流中检查分析出符合要求的事件,flink目前sql 也支持cep了,阿里云上已有相关功能开放使用。flink在上层api上sql 的功能越来越强了,这是它优于其它流式计算框架的地方,降低了使用门槛。应用场景:智能营销,金融风控,异常检测等。目前主流的CEP工具有Esper,drools和商业版的microsoft streamins...原创 2019-06-21 22:29:15 · 920 阅读 · 1 评论 -
flink session window案例及源码分析
Apache Flink(以下简称 Flink) 是一个天然支持无限流数据处理的分布式计算框架,在 Flink 中 Window 可以将无限流切分成有限流,是处理有限流的核心组件,现在Flink 中 Window 可以是时间驱动的(Time Window),也可以是数据驱动的(Count Window)。 Flink提供了几种通用的 WindowAssigner:tumblin...原创 2019-04-29 18:13:26 · 726 阅读 · 0 评论 -
flink session window窗口合并
flink session window窗口的条件是元素间隔大于gap 还是 大于等于gap?session window是怎么进行合并的?还是通过官方示例:org.apache.flink.streaming.examples.windowing.SessionWindowing 进行分析:主要是修改了下数据源,首先添加8这条数据执行结果如下:从结果可以看出 b 都在同一个窗...原创 2019-04-30 18:12:47 · 1400 阅读 · 0 评论