大数据项目离线流程

大数据离线流程
1、数据来源
获取方式:
在页面预埋一段js程序,为页面上想要监听的标签绑定事件,只要用户点击或移动到标签,即可触发请求到nginx服务器,从而在nginx服务器上形成不断增长的日志文件。
本次项目中java sdk的作用主要就是发送支付成功/退款成功的信息给nginx服务器
2、数据采集
我们需要将用户浏览的数据采集到我们的存储系统(hdfs)中,那么在本次课程中,我们只收集pc端数据和程序后台的部分数据。在pc端我们通过集成js来收集用户浏览行为数据;在程序后台,通过集成java的jar文件来收集我们需要的数据。在这里只考虑java开发环境。js/jar将收集的数据发送到nginx,然后flume监控nginx日志,将数据写入到hdfs中。

3、数据清洗
bf_transformer的主要目标由两个,第一个目标就是解析过滤用户日志数据,并将解析后的数据保存到hdfs中,也就是etl操作;
这部分主要处理内容:1.去除没有时间戳的数据(我们分析是按照天进行分析,没有时间没有意义);2.将ip地址解析成地域信息,包括国家、省、市;3.浏览器的信息解析(userAgent)解析出浏览器版本、浏览器名称
4、数据分析
bf_transformer的第二个目标就是从HDFS中读取日志数据,然后编写mr/hive的job进行数据分析,然后将结果保存到mysql数据库中。

5、数据应用展示
写相关接口对外暴露,供其他部门使用数据

你可能感兴趣的:(hadoop项目,项目)