实时存储到redis,更新用户使用时间的最大、最小值--》来求留存率 避免全表扫描问题
1.spark 对接kafka 消费者 解析json
2.concat(appid,‘#‘,appversion,‘#‘,brand,‘#‘,appplatform,‘#‘,devicestyle,‘#‘,ostype,‘#‘,deviceid) ---> 作为key 各个维度
3.选出用户使用app的最小时间戳min , 最大时间戳max -->作为value
4.存储到redis
依赖
<dependency> <groupId>org.apache.spark</groupId> <artifactId>spark-streaming_2.11</artifactId> <version>2.1.0</version> </dependency> <dependency> <groupId>org.apache.spark</groupId> <artifactId>spark-streaming-kafka-0-10_2.11</artifactId> <version>2.1.0</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.17</version> </dependency> <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>2.9.0</version> </dependency>
原文地址:https://www.cnblogs.com/star521/p/9961540.html
时间: 2024-11-05 20:47:42