一个实时项目需要用到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操作时,都会