用Spark Streaming實時計算海量用戶UV
// 插入setbit key offset value//獲取getbit key offset//計數(shù)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 =>//統(tǒng)計人數(shù)rdd.foreachPartition { partition =>//從分區(qū)所屬executor的redis線程池獲取一個連接.val redis = RedisUtil.getRedispartition.foreach { case (date, userId) =>//統(tǒng)計當(dāng)前userIdredis.pfadd(s"uv:$date", userId)}redis.close()}}
評論
圖片
表情
