项目经验(案例一)
项目时间:2017-06 - 2017-09
项目名称:网站日志分析系统
项目描述:
项目介绍
我们的日志数据来源有2个,一个是IIS日志,一个是trace日志。IIS日志主要用于记录用户和搜索引擎对网站的访问行为。trace日志主要记录用户在网站上的操作行为。用户在网页上的每次点击操作都会生成一条日志记录。
我的工作是利用spark对trace日志进行离线和实时分析。
需求一:商品搜索分析
这主要是分析用户用户搜索了哪些产品。
对日志进行处理后取得相应字段后,按照vid访客ID和siteID站点ID对日志记录进行分组,访客ID和siteID确定唯一访客。根据访客的操作时间间隔对用户行为划分session会话。用户操作时间间隔在30分钟以内的操作视作一个会话。
首先,对用户的操作按照操作时间进行排序。对用户的相邻两条操作的间隔时间进行判断。确定了一个会话以后,取用户的vid加上操作的开始时间和最后时间作为会话的标识,确定一个唯一的会话。
然后对会话进行处理,先把会话展开为单条操作。对单条记录进行判断,过滤掉不是产品页以及不是由搜索得来的产品页记录。由产品页得到productID产品ID,通过数据库的数据和产品的productID得到该产品的价格,品类和类目。
最后,将相关数据数据导入postgresql数据库中。
需求二:搜索关键词分析
主要分析用户对产品搜索的结果是否满意。
首先,对用户操作分会话后,过滤出含有搜索页面的会话。按照关键词对用户操作进行分组。
通过对会话里的搜索关键词的判断,得出关键词在会话中出现的位置及次数。在对会话里关键词出现的位置后的记录进行判断。取urlref上页的操作记录和关键词的url进行比较,如果相等,证明是搜索之后浏览的页面。得出搜索后的浏览页面次数和浏览的时间长度。
最后将相关数据导入postgersql数据库中。
需求三:用户商品点击量实时分析
sparkstreaming有2种接收kafka数据的方式。这里我采用了createDirectStream的方式。
首先,获取offset信息。先从zookeeper上读取offset信息,如果offset信息不存在或者offset信息过时,从kafka上获取当前最新的offset。根据offset从kafka上拉取数据。
然后,对数据进行处理。过滤掉没有track id访客ID和不是商品页记录的数据。然后将处理后的数据转换为(x,1)的元组,调用reducebykey得出用户的点击量。
最后,将数据导入postgersql数据库中。
我的职责
1对项目代码做出相应注释
2对相应需求写出代码
3对项目代码进行优化
项目经验(案例二)
项目时间:2017-03 - 至今
项目名称:基于spark的游戏运营分析平台
项目描述:
项目介绍
为了弥补mapreduce分析计算比较缓慢的缺点,公司对原来的部分用户分析业务模块往spark方向上迁移。通过搭建新的spark集群对hdfs上的数据做基于内存的分析、计算,计算效率高了一个量级。分析系统主要有玩家获取、玩家活跃、玩家留存、玩家习惯、玩家转化等几个方面的分析指标。通过对这些指标的多维度分析,可以得出玩家的行为偏好和游戏的运营情况。以此可以调整广告投入策略,达到精准营销的目的。同时,能帮助改善游戏体验,有效提升玩家留存率。
我的职责
1.参与spark集群搭建与配置
2.根据需求编写简单的scala代码,利用RDD对清洗好的数据进行统计、分析
3.SparkSQL与hive整合,编写hql以rdd为执行引擎分析处理数据
4.将统计分析后的数据导入mysql
项目经验(案例三)
项目时间:2016-03 - 2016-10
项目名称:旅游日志数据分析平台 | 项目工具:Nginx+Flume+HDFS+MR+Hive+Mysql
项目描述:
项目介绍
该项目是通过手机APP和PC端来产生用户信息,Flume采集,MR对数据进一步清洗,Hive存储数据,MR,HQL做离线指标的分析,结果数据存入Mysql。通过数据展示,了解到产品的优劣,宏观上了解到用户的喜好,从而对产品功能,页面进行更好的优化,为用户做出推荐,获取更大的效益。
我的职责
1.参与项目指标文档编写。
2.使用Flume采集日志服务器数据到HDFS。
3.离线指标:首页跳失率,来源分析,热门景区TopN,景区热门酒店TopN。
4.将分析好的数据存储到Mysql关系型数据库。
5.指标维护及相关性能的优化。
项目经验(案例四)
项目时间:2011-04 - 2012-10
项目名称:审计项目管理系统
项目描述:
项目介绍
该项目是针对一些会计事务所做审计的一套系统,通过导入其他财务软件数据,进行分析,查看,生成实质性底稿,然后实现本地底稿,归档文件及数据的上传,通过web管理系统可以很方便对项目的人员派遣,分工,和项目进度监控
我的职责
开发工具 Eclipse3.6,JDK1.7,weblogic,sqlserver2008,主要负责项目功能和业务模块开发,测试,如小组成员任务分工,代办事项,底稿评价要点,风险导向,项目管理,创建项目,项目列示等;项目管理系统web版负责与单机版接口,项目锁定,项目上传,及各个模块的维护和修改