用Spark Streaming实时计算海量用户UV
// 插入setbit key offset value//获取getbit key offset//计数BITCOUNT key [start] [end]
redis 127.0.0.1:6379> PFADD runoobkey "redis"1) (integer) 1redis 127.0.0.1:6379> PFADD runoobkey "mongodb"1) (integer) 1redis 127.0.0.1:6379> PFADD runoobkey "mysql"1) (integer) 1redis 127.0.0.1:6379> PFCOUNT runoobkey(integer) 3
stream.foreachRDD { rdd =>//统计人数rdd.foreachPartition { partition =>//从分区所属executor的redis线程池获取一个连接.val redis = RedisUtil.getRedispartition.foreach { case (date, userId) =>//统计当前userIdredis.pfadd(s"uv:$date", userId)}redis.close()}}
评论
