腾讯项目数据分析脚本
2014-02-26 16:05
92 查看
截至到2月26日,网络遥控器的一些统计
1,统计终端用户个数
cat terminal02 terminal0226.txt | cut -f 3 | grep -v 'null' | wc -l
21个用户,去除null之后实际为19个
2,去除行为数据中的空字段,提取出用户id,operateBehavior,operateType,operateTime,remark 字段
cat operate0226.txt | grep -v 'null' | cut -f 5,6,7,8,9 > preDealed.data
统计可用记录数:
wc -l preDealed.data
3,统计贡献记录数目最多的用户
cat preDealed.data | cut -f 1 | sort | uniq -c | sort -r -n | sed '1,$s/^[ ]*//g' >user.top
4,统计显式频道的top10
cat preDealed.data | cut -f 5 |grep '频道:' | cut -d ',' -f 1 | cut -d ':' -f 2 | sed '/^$/d' | sort | uniq -c | sort -r -n | head -n 11 > ../result_data/program.top
5.统计显式节目的top10
cat preDealed.data | cut -f 5 | grep '节目' | cut -d ',' -f 3 | cut -d ':' -f 2 | sed '/^$/d' | sort | sed '/^$/d'| uniq -c | sort -r -n | sed '1,$s/^[ ]*//g' | head -n 11 > ../result_data/program.top
6,关于提取时间段的一个java程序
统计每次的登录时长
1,统计终端用户个数
cat terminal02 terminal0226.txt | cut -f 3 | grep -v 'null' | wc -l
21个用户,去除null之后实际为19个
2,去除行为数据中的空字段,提取出用户id,operateBehavior,operateType,operateTime,remark 字段
cat operate0226.txt | grep -v 'null' | cut -f 5,6,7,8,9 > preDealed.data
统计可用记录数:
wc -l preDealed.data
3,统计贡献记录数目最多的用户
cat preDealed.data | cut -f 1 | sort | uniq -c | sort -r -n | sed '1,$s/^[ ]*//g' >user.top
4,统计显式频道的top10
cat preDealed.data | cut -f 5 |grep '频道:' | cut -d ',' -f 1 | cut -d ':' -f 2 | sed '/^$/d' | sort | uniq -c | sort -r -n | head -n 11 > ../result_data/program.top
5.统计显式节目的top10
cat preDealed.data | cut -f 5 | grep '节目' | cut -d ',' -f 3 | cut -d ':' -f 2 | sed '/^$/d' | sort | sed '/^$/d'| uniq -c | sort -r -n | sed '1,$s/^[ ]*//g' | head -n 11 > ../result_data/program.top
6,关于提取时间段的一个java程序
package com.bobo.test; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import java.io.PrintWriter; import java.util.ArrayList; public class TengxunTimeDiff { //默认登录时间如果超过10分钟,那么就是一次另外的登录。 private static int TimeDiff=20*60; public static void main(String[] args){ String inFilePath="./myData/tengxun/preDealed.data"; String outFilePath="./myData/tengxun/timeDiff.data"; TengxunTimeDiff timeDiff=new TengxunTimeDiff(); timeDiff.calTimeDiff(inFilePath,outFilePath); System.out.println("TengxunTimeDiff執行完畢"); } private void calTimeDiff(String inFilePath,String outFilePath){ FileReader fr=null; BufferedReader br=null; FileWriter fw=null; BufferedWriter bw=null; PrintWriter pw=null; ArrayList<Integer> lineNumList=new ArrayList<Integer>(); try{ fr=new FileReader(inFilePath); br=new BufferedReader(fr); fw=new FileWriter(outFilePath); bw=new BufferedWriter(fw); pw=new PrintWriter(bw); //分两次吧,第一次先记录下来变化处的行号 String line=null; String firstLine=br.readLine(); String previousId=firstLine.split("\t")[0]; String curId=previousId; int lineNum=1; lineNumList.add(lineNum); while((line=br.readLine())!=null){ curId=line.split("\t")[0]; lineNum++; if(!curId.equals(previousId)){ //说明上一条的开始时间和结束时间可以写入了 previousId=curId; lineNumList.add(lineNum); } } lineNumList.add(lineNum); System.out.println(lineNumList); fr=new FileReader(inFilePath); br=new BufferedReader(fr); lineNum=1; int listIndex=0; while((line=br.readLine())!=null){ System.out.println(lineNum+":"+lineNumList.get(listIndex)); //注意對與最後一行也需要單獨處理 if(listIndex>lineNumList.size()-1){ return; } if(lineNum==lineNumList.get(listIndex)-1){ pw.println(line.split("\t")[3]); }else if(lineNum==lineNumList.get(listIndex)){ pw.println(line.split("\t")[0]+"\n"+line.split("\t")[3]); listIndex++; }else if(lineNum==lineNumList.get(lineNumList.size()-1)){ pw.println(line.split("\t")[3]); } lineNum++; } pw.println(); //一次文件讀兩次 }catch(Exception e){ e.printStackTrace(); }finally{ try { bw.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } pw.flush(); pw.close(); } } }
统计每次的登录时长
相关文章推荐
- 网站数据统计分析项目之后端脚本解读
- <java EE 项目:Musicstore>项目结构分析: 项目的3层结构之间的关系 :(表示层,业务层,数据层)
- Hadoop学习笔记—20.网站日志分析项目案例(二)数据清洗
- 【重磅】腾讯移动分析MTA首推可视化埋点,助力移动APP数据运营
- 说说数据分析类项目
- 化工企业数据分析中心项目之采购模块分析
- 基于.NET 2.0的GIS开源项目SharpMap分析手记(四):地图数据访问机制分析
- 近日发现一个有趣的数据分析项目 (解析滴滴算法大赛---数据分析过程)
- 大数据Spark “蘑菇云”行动第71课: 基于Spark 2.0.1项目开发分析与实战
- java项目实战-超市管理系统(七)如何导入数据到数据库?Dao包源码与分析
- 项目实战 - 使用Fiddler抓取bilibili安卓客户端口数据并分析(http、https)
- 化工企业数据分析平台项目之应收款分析
- Spark项目之电商用户行为分析大数据平台之(九)表的设计
- 北卡州立大学的数据分析学硕士项目排名大数据专业第一名
- 化工企业数据分析中心项目之采购模块分析
- 数据分析在实际项目上的应用
- 化工企业数据分析报表系统项目之销售模块分析
- 博客统计:腾讯分析这些数据哪儿来的?
- 化工企业数据分析平台项目之应收款分析
- 上交所历史数据分析系统项目总结