创建连接池:https://blog.youkuaiyun.com/drl_blogs/article/details/93979067
写入redis
//df为已经处理好的DataFrame
df.foreachPartition(filter=>{
val jedis = Jpools.getJedis
filter.foreach(tp=>{
val province = tp.getAs[String]("province")
val counts = tp.getAs[Long]("counts")
jedis.hincrBy("wode",province,counts)
})
jedis.close()
})
读取redis数据
import collection.JavaConversions._
//获取链接对象
val jedis = Jpools.getJedis
//取的数据类型为java.util.Map
val javamap: util.Map[String, String] = jedis.hgetAll("wode")
//转换为scala.util.Map
val map: Map[String, String] = javamap.toMap
map.map(x=>(x._1,x._2)).foreach(println)
//关闭redis
jedis.close()
Spark DataFrame与Redis交互指南

本文详细介绍如何使用Spark DataFrame与Redis进行数据交互,包括创建连接池、将DataFrame数据写入Redis以及从Redis读取数据的方法。通过具体代码示例,展示如何遍历DataFrame并将其增量更新到Redis哈希表中,以及如何读取Redis中的数据并转换为Scala Map。
6776

被折叠的 条评论
为什么被折叠?



