Flink / Scala 实战 - 6.使用 Jedis、JedisPool 作为 Source 读取数据
一.引言
现在有一批数据写入多台 Redis 相同 key 的队列中,需要消费 Redis 队列作为 Flink Source,为了提高可用性,下面基于 JedisPool 进行队列的消费。队列数据示例: 1,2,3,4,5、A,B,C,D,E,程序将字符串解析并 split(",") 然后分别写到下游。
二.Flink Source By JedisPool
1.初始化 JedisPool
由于数据量较大,所以同时写入 N 台 Redis 队列,key 均相同,注意这里是 JedisPool 不是 JedisCluster,需要区分二者的概念。
def initJedisPool(host: String, port: Int): JedisPool = {val config = new JedisPoolConfigconfig.setMaxTotal(4)config.setMaxIdle(2)config.setMaxWaitMillis(1000)config.setTestOnBorrow(true)config.setTestOnReturn(true)jedisPool = new JedisPool(config, host, port)jedisPool}
需要导入 Jedis 依赖:
<dependency><groupId>redis.clients</groupId><artifactId>jedis</artifactId><version>2.7.2&
Flink / Scala 实战 - 6.使用 Jedis、JedisPool 作为 Source 读取数据相关推荐
- Flink / Scala 实战 - 13.TimeWindow 处理迟到数据详解
目录 一.引言 二.Flink TimeWindow 丢数据示例 1.代码分析 2.Watermark 生成逻辑 3.丢失数据代码测试
- Flink / Scala 实战- 4.BroadCast 广播流数据先到再处理 Source 数据
一.引言 Flink 支持增加 DataStream KeyBy 之后 conncet BroadCastStream 形成 BroadConnectedStream,广播流内数据一般为不间断更新的上 ...
- scala读取数据从文件或者其他url中
scala读取数据:主要使用source单例对象进行读取,在使用source单例对象前需要先导包,import scala.io.Source 1.1 按行读取:以行为单位进行对象读取,来读取数据源中 ...
- jedis jedispool Redistemplate
jedis jedispool Redistemplate 整理了之前学习 redis 的笔记,强烈建议看最后总结. 在大型系统数据读请求中,基本上90%都可以通过分布式缓存集群来抗下来,而 Redi ...
- Redis实战之Redis + Jedis
用Memcached,对于缓存对象大小有要求,单个对象不得大于1MB,且不支持复杂的数据类型,譬如SET 等.基于这些限制,有必要考虑Redis! 相关链接: Redis实战 Redis实战之Redi ...
- Jedis+JedisPool+JedisPoolConfig:完美“掌控“Redis
目录 一.背景介绍 二.Redis相关 2.1 Redis基本概念 2.2 Redis下载安装 2.3 启动Redis服务(Windows本地) 2.4 启动Redis客户端(Windows本地) 2 ...
- flink sql实战案例
目录 一.背景 二.流程 三.案例 1.flink sql读取 Kafka 并写入 MySQL source sink insert 2.flinksql读kafka写入kudu source sin ...
- Consider defining a bean of type 'redis.clients.jedis.JedisPool' in your configuration.
报错信息 原因是没有Jedispool没有注入 import com.fasterxml.jackson.annotation.JsonAutoDetect; import com.fasterxml ...
- Flink从入门到精通100篇(二十二)- Flink应用实战案例:如何实现网络流控与反压机制
目录 Flink 流处理为什么需要网络流控? Flink V1.5 版之前网络流控介绍 Flink V1.5 版之前的反压策略存在的问题 Credit的反压策略实现原理,Credit是如何解决 Fli ...
最新文章
- Centos 常用系统命令
- android按钮点击事件(多种方法实现)
- Mock.js 和Node.js详细讲解
- linux下查看系统socket读写缓冲区
- jquerymobile应用中session、cookie
- Vuforia入门之简单图片识别案例(一)
- 计算机操作系统锁定如何解锁,笔记本键盘锁定,小编教你笔记本键盘锁定怎么解锁...
- PyTorch实践系列(二):GPU与CPU运行对比
- 第三只眼看财务-留存收益与职业道德
- Python爬虫_案例分析(二)
- php网页增加音乐代码,js给网页加上背景音乐及选择音效的方法
- linux lsmod命令 及相关信息
- 手机app跑得快游戏自动代打程序设计
- Mongodb从配置到应用
- Android HashMap 源码详解
- 480集课程-打通Python开发的任督二脉 轻松掌握Python高级开发技术 Python超级学科课程
- 帝国cms7.5自动提取关键字 tag标签插件
- CodeSoft模板问题--字体扭曲条码无法扫描
- excel怎么设置自动计算_电气自动计算表,excel函数输入数据秒出精准结果,超好用...
- java post和put的区别,ES 中的 POST 和 PUT 的区别