当前位置: 首页 > news >正文

网站下面的站长统计很逗/知道百度

网站下面的站长统计很逗,知道百度,做一个营销型网站多少钱,谷歌seo排名2019独角兽企业重金招聘Python工程师标准>>> 写了两周的东西,最终还是没有写完,记录下最近都在干什。 第一步:接到整合线上日志的任务,开始进行分析,结果如下: 1、线上的日志是按照时间存储起来…

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

    写了两周的东西,最终还是没有写完,记录下最近都在干什。

    第一步:接到整合线上日志的任务,开始进行分析,结果如下:

    1、线上的日志是按照时间存储起来的,刚开始以为直接添加就行。结果发现,实际的业务是从九月初期开始,十月份的时候添加过两个字段,并且重新的建立了一个日志文件,目前就有两个日志文件,后者除了在原来的基础上多了两个字段,所以决定先入库,分别把两个的日志中的数据入库到hive;

  •     把当前用到的日志添加一个定时的命令,把日志同步到S3服务器,用到的脚本如下:

    #!/bin/sh
    ####################
    #put log to s3
    #Author Lcm
    #date 2016-10-27
    ###################
    #dateYMD=`date  -d   yesterday   +%Y-%m-%d`
    #dateYM=`date   -d   yesterday   +%Y-%m`
    #dateMD=`date   -d   yesterday   +%m-%d`
    dateYMD='2016-09-'$1
    dateYM='2016-09'
    dateMD='09-'$1

    #2016-09 - 2016-10-07
    OLD_LOG_PATH='/home/centos/tools/apache-tomcat-8080/igp_logs/reg/'$dateYM'/reg1-'$dateMD'*.log'

    #2016-10-08
    #OLD_LOG_PATH='/home/centos/tools/apache-tomcat-8080/igp_logs/reg1/'$dateYM'/reg1-'$dateMD'*.log'

    OLD_LOG_PATH='/home/centos/tools/apache-tomcat-8080/igp_logs/reg1/'$dateYM'/reg1-'$dateMD'*.log'
    NEW_LOG_PATH='/home/centos/tools/s3/s3cmd/s3cmddata/reglog'$dateMD'.log'
    TAR_LOG_PATH='/home/centos/tools/s3/s3cmd/s3cmddata/reglog'$dateMD'.gz'
    cat $OLD_LOG_PATH > $NEW_LOG_PATH
    if [ -f "$NEW_LOG_PATH" ];then
        gzip -c $NEW_LOG_PATH >$TAR_LOG_PATH
        /home/centos/tools/s3/s3cmd put $TAR_LOG_PATH 's3://ngemobi/logs/igp_logs/reg/dt='$dateYMD'/reglog'$dateMD'.gz'
        rm $NEW_LOG_PATH
        rm $TAR_LOG_PATH
    fi

  • 在当前的服务器中添加定时的入库hive的命令,主要是把前一天的日志存储到Hive中;在定时之前需要把之前的数据先手动的入库,操作的命令如下:查看数据源、从s3下载到本地、将本地文件的数据入库到hive、查看分区是否添加成功、查看数据是否添加成功

    1、/data/s3cmd/s3cmd ls -l  s3://ngemobi/logs/igp_logs/reg/dt=2016-11-07/

    2、/data/s3cmd/s3cmd get s3://ngemobi/logs/igp_logs/reg/dt=2016-11-08/reglog11-08.gz

    3、LOAD DATA LOCAL INPATH '/data/s3data/reglog11-08' INTO TABLE  appname_reg_logs partition(dt='2016-11-08');
    4、show partitions appname_reg_logs;
    5、select count(*) from appname_reg_logs where dt='2016-11-08';

  • 把每天(aid_byday)新增的和所有的安卓的ID(aid_all),分别的存储到两个Hive表中,这里有顺序的关系,首先是把每天新增的得到之后,在更新aid_all表;
    这里有个逻辑关系
    每天新增的数据 = 当天所有的数据 - aid_all 表中存在的    [aid_all表中存储的是今天之前所有的]
    所有的安卓id:今天所有的数据处理完之后进行更新
    每天新增手动代码:
    insert into appname_androidid_byday partition (dt='2016-11-06') select distinct(tmp.reg_aid) from(selectappname_androidid_all.appname_androidid all_aid,appname_reg_logs.dt reg_dt, appname_reg_logs.appname_androidid reg_aidfromappname_reg_logsleft outer join appname_androidid_allonappname_reg_logs.appname_androidid=appname_androidid_all.appname_androidid) tmpwheretmp.reg_dt='2016-11-06' and tmp.all_aid is null;

    每天所有aid_all入库:
    insert into appname_androidid_all partition (dt='2016-11-05') selectappname_androidid from appname_androidid_byday where dt='2016-11-05';

  • 从当前已经有的Hive表中获取求和的文件,然后将文件的数据读取存储到Mysql表中;
    1、每日活跃用户入库
       select count(*) as LOGS_GETERR_10001, errlog_logtype, errlog_plugin_version from get_error_logs where  dt='seDate' and hour='seHour' group by errlog_logtype, errlog_plugin_version
    2、每日新增的数据入库
      select count(distinct tmp.reg_aid) as LOGS_APPNAMEADD_10002,tmp.reg_apkname, tmp.reg_country, tmp.reg_apkversioncode from(select appname_androidid_all.appname_androidid all_aid, appname_reg_logs.dt reg_dt, appname_reg_logs.appname_apkname reg_apkname, appname_reg_logs.appname_country reg_country, appname_reg_logs.appname_apkversioncode reg_apkversioncode, appname_reg_logs.appname_androidid reg_aid from appname_reg_logs left outer join appname_androidid_all on appname_reg_logs.appname_androidid=appname_androidid_all.appname_androidid) tmp where tmp.reg_dt='2016-11-03' tmp.all_aid is null group by tmp.reg_apkname,tmp.reg_country,tmp.reg_apkversioncode;
    3、每日留存数据入库
    select count(distinct tmp.reg_aid) asLOGS_APPNAMEADD_10003,tmp.reg_apkname, tmp.reg_country, tmp.reg_apkversioncode from(select appname_androidid_all.appname_androidid all_aid, appname_androidid_all.dt all_dt, appname_reg_logs.appname_apknamereg_apkname, appname_reg_logs.appname_countryreg_country, appname_reg_logs.appname_apkversioncode reg_apkversioncode, appname_reg_logs.dt reg_dt, appname_reg_logs.appname_androidid reg_aid from appname_reg_logs left outer join appname_androidid_all on appname_androidid_all.dt='2016-11-02'and appname_reg_logs.appname_androidid=appname_androidid_all.appname_androidid) tmp wheretmp.reg_dt='2016-11-03' and tmp.all_aid is not nullgroup bytmp.reg_apkname,tmp.reg_country,tmp.reg_apkversioncode;

  • 从mysql表中读取数据,写相应的代码来进行展示和查询;

转载于:https://my.oschina.net/u/1780456/blog/785283

http://www.jmfq.cn/news/5231287.html

相关文章:

  • 北京网站建设公司分享网站改版注意事项/线上宣传方式有哪些
  • wordpress注册的时候发送邮件/成都最好的网站推广优化公司
  • seo五大经验分享/优化百度seo技术搜索引擎
  • 做网站注意的问题/百度免费发布信息网站
  • 石林彝族网站建设/济南网络营销外包
  • fuzzz的wordpress模板/seo品牌优化整站优化
  • 外文网站字体/9个广州seo推广神技
  • 男女性直接做的视频网站/爱站工具包怎么使用
  • 销售网站内容设计/关键词优化排名怎么做
  • 西安微网站开发/百度在线识别图片
  • 设计网站登录框ps怎么做/湖南百度推广
  • 网站怎么做视频背景/搜索引擎营销的方法包括
  • 金坛市住房和城乡建设局网站/竞价托管怎么做
  • 做哪种网站能赚到钱/软文营销实施背景
  • 网站打不开 别的电脑能打开/新闻软文怎么写
  • 百度网站推广优化工具/东莞整站优化排名
  • 用建站ABC做的网站 怎么营销/私人做网站建设
  • 定制化开发/aso优化什么意思
  • 电子商务网站开发环境/广州seo运营
  • 法拍房北京网站/关键词挖掘ppt
  • 手机可做兼职的网站/青岛网站seo
  • 网站建设服务描述/一键优化是什么意思
  • 网站建设分为多少模块/微信信息流广告投放
  • 临沂网站建设兼职/百度com打开
  • 济南学习网站制作/宁波核心关键词seo收费
  • 网站开发技术主管工作职责/我想做地推怎么找渠道
  • 自己做物流网站/长沙网站托管优化
  • 公司简历模板范文填写/seo关键词排名优化软件
  • 北京网站优化和推广/成都搜索优化排名公司
  • 做爰全过程免费网站的视频教程/品牌策划案