• 说的有道理 。说明我们的教育方向确实是有问题,毛主席当年对教育领域的有关指示是正确的。 2019-10-20
  • “缺少他的当代学术史是不完整的” 2019-10-20
  • 中央再曝50名外逃人员藏匿线索 不少人级别高、影响大 2019-10-16
  • 美已决定暂停计划于8月举行的美韩联合军演 2019-10-09
  • 主持人资料库――杨澜 2019-10-09
  • 碧桂园进军农业:将投资袁隆平杂交水稻推广研究 2019-10-08
  • 有兴趣的朋友可以去看咱的《机器人普及时代的生产关系》…… 2019-10-08
  • 【坚决打赢脱贫攻坚战】“千企帮千村”共筑幸福路 2019-10-08
  • 一江清水何以来?(人民眼·生态补偿) 2019-10-08
  • 合肥市长二小橡树湾校区师生携手外教端午文化体验行 2019-10-05
  • 国务院任免国家工作人员 2019-10-03
  • 美出现令专家困惑神秘生物 网友:可能是狼人(图) 2019-10-03
  • 墨西哥首都现轻微地震 或因球队进球民众跳跃造成 2019-09-26
  • 【专题】网络中国节·2018端午节 2019-09-26
  • 番茄汁-热门标签-华商生活 2019-09-22
  •    
     
    [返回]  
      [数据统计方法]
        作者:赵英明
     
    [正文]
      HI,大家好:
      最近在工作中发现一个普遍问题,在统计数据时,同样类型的数据,由于参数的不同,多次扫描原始日志文件。当日志文件很大时,这种统计方式效率非常的低,借此机会和大家共同探讨一下统计效率的问题。
      基本思想是做预处理,将日志的原始数据倒入到内存中,然后基于内存统计数据。
      这里需要用到AWK脚本,具体AWK的使用可以查看相关的资料说明。
      下面我给大家一个实际的例子来展现一下。
      需求如下:
      统计每款手机每个产品的转定率,顺便统计每个产品的总转定率和每款产品的总转定率。
      原始数据如下:
    3个WAP网关上的3个定制日志和一个WAP策略访问日志。
    定制日志:包含用户手机号码,用户MID,产品ID,动作(定制,退定,。。。)等。
    访问日志:包含用户手机号码,用户MID,产品ID,产品型号等
    转定率:用户定制/用户访问
    下面是具体的temp.awk脚本内容,我在此加了些注释,
    {
    if(index($0,"action:1")>0){???????????? #判断扫描到网关文件,且是定制记录su
    sid=substr($9,2,length($9)-2);
    mid=substr($7,2,length($7)-2);
    mobile=substr($8,2,length($8)-2);?????? #得到产品ID,MID,手机号码
    }
    else if(index($0,"spURL")>0){?????????? #判断扫描到的是访问日志
    split($2,aa,"|");
    split(aa[12],cc," ");
    split(cc[1],dd,"/");
    split(dd[1],cc,"*");
    ua=cc[1];
    sid=substr(aa[2],5);
    mo=substr(aa[3],8);
    mid=substr(aa[4],5);??????????????????? #获得产品ID,UA,MID,号码
    x=0;if(index(mo,"_no_mobile_")>=0) x=1; #特殊处理,标记没有手机号码的情况
    y=0;if(index(mid,"_no_mid_")>=0) y=1;?? #特殊处理,标记没有手机号码的情况
    if((x==0)&&(sid" "mo) in MO2)) || (Y==0)&&((sid" "mid) in MID2))){
    #用MO2,MID2数组来分别记录处理过的用户
    #已处理过的用户不再处理
    }
    else if(x*y==0){ #至少有手机号码或者MID,否则无法标识用户? #,不处理。
    AA[ua" "sid]++; #对应的“手机号码和ID” 定制数加1
    if((x==0)&&((sid" "mid) in MID)) ||((y==0) && ((sid" "mo) in MO)){
    #对应的“用户和产品ID” 在网关日志中有定????????????????????????????????????????? #制记录
    BB[ua" "sid]++;???????????????????????? #对应的“手机号码和ID” 定制数加1
    }
    MID2[sid" "mid]=1;????????????????????? #记录已经处理过的用户MID和产品ID对
    MO2[sid" "mo]=1;??????????????????????? #记录已经处理过的用户号码和产品ID对
    }
    }
    END
    {
    for(a in AA){?????????????????????????? #输出结果文件
    if(!(a in BB)) BB[a]=0;
    print a" "BB[a]" "AA[a];??????????????? #输出格式为“手机型号 产品ID 定制次数 访????????????????????????????????????????? #问次数”
    }
    }
    有了上面的结果,再计算转定率就太简单了,
    需要说明的是,网关文件必须先扫描,这样MID,MO数组才有值。
      执行命令应该是这样的:
    cat 网关文件1 网关文件2 网关文件3 访问日志 | awk -f temp.awk > result.txt

      此shell实际执行效率是:网关800M数据,访问1200M数据,4分钟统计完毕。

    版权所有:金桥教育 网址:森林狼vs国王04年视频 www.zborg.net 咨询QQ:498912824
    学校地址:长春市同志街桂林路中岚写字楼8楼(桂林路恒客隆同楼右侧) 咨询电话:0431-85679386 85650781
    乘车路线:乘362 62路车<桂林路>站 下车
    短信:发送“java”到916068
  • 说的有道理 。说明我们的教育方向确实是有问题,毛主席当年对教育领域的有关指示是正确的。 2019-10-20
  • “缺少他的当代学术史是不完整的” 2019-10-20
  • 中央再曝50名外逃人员藏匿线索 不少人级别高、影响大 2019-10-16
  • 美已决定暂停计划于8月举行的美韩联合军演 2019-10-09
  • 主持人资料库――杨澜 2019-10-09
  • 碧桂园进军农业:将投资袁隆平杂交水稻推广研究 2019-10-08
  • 有兴趣的朋友可以去看咱的《机器人普及时代的生产关系》…… 2019-10-08
  • 【坚决打赢脱贫攻坚战】“千企帮千村”共筑幸福路 2019-10-08
  • 一江清水何以来?(人民眼·生态补偿) 2019-10-08
  • 合肥市长二小橡树湾校区师生携手外教端午文化体验行 2019-10-05
  • 国务院任免国家工作人员 2019-10-03
  • 美出现令专家困惑神秘生物 网友:可能是狼人(图) 2019-10-03
  • 墨西哥首都现轻微地震 或因球队进球民众跳跃造成 2019-09-26
  • 【专题】网络中国节·2018端午节 2019-09-26
  • 番茄汁-热门标签-华商生活 2019-09-22
  • 免费彩票旋转矩阵软件 宝来娱乐会黑吗 阿拉德之怒官网mg 金鼎集团 mg电子游戏容易赢钱吗 天津时时开奖结果 北京pk万能计划手机版 爱网爱快乐时时 ag动物狂欢赌博 北京pk赛车平台玩 pk10分析软件 山东群英会任二稳赚技巧 大富翁欢乐捕鱼 体彩排三绝杀6码 福彩欢乐生肖怎么玩 时时票-线路检测中心