设为首页 加入收藏

TOP

Spark+RedisPool
2018-12-06 01:32:32 】 浏览:13
Tags:Spark RedisPool

一个实时项目需要用到Kafka+Spark streaming+Redis,在spark streaming中将计算结果实时存入redis,由于是分布式计算,创建redis pool的时候出现无法序列化的问题,借鉴了以下博文:http://shiyanjun.cn/archives/1097.html,解决了无法序列化的问题,但是方法一(即使用lazy懒加载的机制)中,redis的的配置(hosts和port)只能写死,试了n种方法都不能将这些配置写进配置文件里,最后只能采取第二种方法把对Redis连接的管理放在操作DStream的Output操作范围之内,因为我们知道它是在特定的Executor中进行初始化的,使用一个单例的对象来管理。

但是还是有问题:每次forecachpartition操作时,都会创建一个redispool,而不是只创建一次,所以每次用完要手动close掉,不然会不断增加连接数。


如果有解决好上述问题的博友,麻烦告知一下,不胜感激



编程开发网
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇Spark 基础 —— 元组(tuple) 下一篇Spark SQL和Spark Streaming简介

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

array(4) { ["type"]=> int(8) ["message"]=> string(24) "Undefined variable: jobs" ["file"]=> string(32) "/mnt/wp/cppentry/do/bencandy.php" ["line"]=> int(214) }