flink 维表查询 redis 之 flink-connector-redis
项目介绍
基于https://github.com/apache/bahir-flink.git 二次开发,相对 bahir 调整的内容有:支持 flink1.13,删除过期 Flink API、增加 Table/SQL API、 增加维表查询、增加查询缓存、统一使用过期策略、增加写入并发数等。
因 bahir 使用的 flink 接口版本较老,所以改动较大,开发过程中参考了腾讯云与阿里云两家产商的流计算产品,取两家之长,并增加了更丰富的功能,包括更多的 redis 操作命令和更多的 redis 服务类型,如:simple、sentinel、cluster。
支持 redis 的操作命令
插件地址:https://github.com/jeff-zou/flink-connector-redis.git
无法翻墙:https://gitee.com/jeff-zou/flink-connector-redis.git
使用方法:
命令行执行 mvn package -DskipTests 打包后,将生成的包 flink-connector-redis-1.0.10.jar 引入 flink lib 中即可,无需其它设置。
开发环境工程直接引用:
使用说明
无需通过 primary key 来映射 redis 中的 Key,直接由 ddl 中的字段顺序来决定 Key,如:
with 参数说明
集群类型为 sentinel 时额外连接参数
数据类型转换
使用示例
维表查询
DataStream 查询方式
示例代码路径: src/test/java/org.apache.flink.streaming.connectors.redis.datastream.DataStreamTest.java
hset 示例,相当于 redis 命令:*hset tom math 150*
redis-cluster 写入示例
示例代码路径: src/test/java/org.apache.flink.streaming.connectors.redis.table.SQLTest.java<br>
set 示例,相当于 redis 命令: *set test test11*
开发与测试环境
问题反馈
关注公众号“肌肉码农”,回复“好友”反馈问题。
评论