22 友盟项目--sparkstreaming对接kafka、集成redis--从redis中查询月留存率

 实时存储到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

22 友盟项目--sparkstreaming对接kafka、集成redis--从redis中查询月留存率的相关文章

友盟分享以及第三方登录集成

最新的SDK下载: http://dev.umeng.com/social/ios/sdk-download 参考文献: http://www.360doc.com/content/15/0121/14/20919452_442560039.shtml 友盟文档中心: http://dev.umeng.com/social/ios/login-page

02.友盟项目--原始日志数据生成

友盟架构图1 友盟架构图2 日志生成类 package com.star.umeng.phone.domain; /** * App日志的公共属性 */ public class AppBaseLog { private Long createdAtMs; //日志创建时间 private String appId; //应用唯一标识 private String tenantId; //租户唯一标识,企业用户 private String deviceId; //设备唯一标识 private

基于最新友盟开发文档,集成友盟分享功能,赋demo

集成准备 获取Appkey 快速集成 获取SDK,页面截图: 下载后打开 导入jar和res 添加回调Activity 微信 在包名目录下创建wxapi文件夹,新建一个名为WXEntryActivity的activity继承WXCallbackActivity. QQ QQ不需要添加Activity,但需要在使用QQ分享或者授权的Activity中,添加: @Override protected void onActivityResult(int requestCode, int resultC

01.友盟项目--nginx服务器配置

Nginx实现反向代理 openresty-nginx增强版(现在使用的) localhost  反向代理到 s102--s104 http://openresty.org/cn/ 1.windows下 安装openresty,并修改nginx.conf配置文件 nginx.conf配置文件 #使用指定用户 #user root; #使用的处理器进程数 worker_processes 4; #错误日志文件 #error_log logs/error.log; #日志文件与日志级别 #error

12 友盟项目--配置nginx的日志滚动

配置nginx的日志滚动-------------------------- 使用linux的crod调度器,周期性生成新文件. [编写滚动脚本 /usr/local/bin/umeng_roll_log.sh]     chmod  777     修改可执行权限 #!/bin/bash dateStr=`date '+%Y-%m-%d-%H-%M'` mv /usr/local/openresty/nginx/logs/access.log /usr/local/openresty/ngin

15 友盟项目--资源文件工具类(ResourceUtil)、sql执行工具类(ExecSQLUtil)

资源文件工具类把sql脚本转换为String字符串--->交给sql工具类ExecSQLUtil执行sql 1.资源文件工具类(ResourceUtil) 把sql脚本转换为String字符串 /** * 资源文件工具类 */ public class ResourceUtil { /** * 以String方式读取整个资源串 */ public static String readResourceAsString(String resource ,String charset) throws

IOS友盟 社会化分享 &gt; 社会化iOS组件 &gt; 分享集成

由于苹果审核政策需求,建议大家对未安装客户端平台进行隐藏,在设置QQ.微信AppID之后调用下面的方法,[UMSocialConfig hiddenNotInstallPlatforms:@[UMShareToQQ, UMShareToQzone, UMShareToWechatSession, UMShareToWechatTimeline]]; 这个接口只对默认分享面板平台有隐藏功能,自定义分享面板或登录按钮需要自己处理 友盟分享sdk5.2.1已经兼容ipv6,请大家升级sdk,避免无法通

Android学习之友盟5.0推送,分享踩坑总结

这几天都没有写博客,今天集成友盟5.0推送,分享,得闲,总结一下友盟5.0推送分享踩得哪些坑! 之前写的友盟踩坑心得是基于友盟4.3版本的,现在友盟5.0相较于4.3,有了较大的改动,呜呼哀哉!学而时习之吧. 友盟5.0的好处:集成推送,分享可以通过导入module的形式,代码简化,维护性高,(一些资源文件就不用自己慢慢去拷贝了). 至于缺点,就是刚刚改版,会有很多跟4.3不一样的使用方法,所以需要前人去踩坑了! 友盟推送: 1:添加Module Android studio导入Module自不

玩转ios友盟远程推送,16年5月图文防坑版

最近有个程序员妹子在做远程推送的时候遇到了困难,求助本帅.尽管本帅也是多彩的绘图工具,从没做过远程推送,但是本着互相帮助,共同进步的原则,本帅还是掩饰了自己的彩笔身份,耗时三天(休息时间)帮她完成了推送功能.PS:三天只打了一局dota,你们就知道这有多难,多耗时了.(其实并没有,真正做过一次就知道这其实很简单了,现在有程序媛再找本帅做推送,简直就是分分钟的事). 对不起请允许我这一次! 鉴于这次做推送的时间绝大多数都浪费在了"寻找教程->教程有误(更新不及时)->寻找教程"