五、Hadoop项目实战

一、实战概述:基于慕课网用户行为日志的分析

用户行为日志

1.1 日志的数据内容

  • 访问系统的属性:操作系统、浏览器等
  • 访问特征:点击的url、从哪个url过来的、在页面的停留时间
  • 访问信息:sessionId、访问的ip信息

1.2 用户行为日志分析的意义

二、离线数据处理的架构

  • 数据采集:flume,将日志从一个地方搬运到另一个地方。将web日志写入到HDFS
  • 数据清洗:剔除脏数据,采用Spark、Hive、MapReduce
  • 数据处理:按照需求进行相应业务逻辑的处理
  • 处理结果入库:将结果存放到MySql
  • 数据的可视化:通过图形化展示的方式展现出来
离线数据处理

三、项目需求

3.1

3.1 根据UserAgent获取文件头

3.2 :在github使用别人的jar包的方法:找到一个UserAgentParser

  • git clone xxx
  • 下载下来进行打包:mvn clean package -DskipTests
  • 安装到本地仓库: mvn install -DskipTests
  • 查看信息安装到如下地方:


    mvn install 之后的结果

    有jar包就可以在本地使用了
  • 在项目里引入该jar包:


    在pom.xml引入依赖
  • 测试该类


    测试UserAgentParser
  • 测试文件


    测试文件1

    测试文件2
解析浏览器相关信息的类

四、MapReduce实现

  • Map实现


    setUp初始化环境

    Map处理

    环境清理
  • 因为UserAgent在服务器是没有的,所以要打包上去。而Hadoop在服务器是有的,所以要将UserAgent打包,而其它的不用打包


    将hadoop的依赖置为provided,junit的本来就是test
  • 添加插件,用mvn


    添加打包的插件,此时不能用mvn clean package 命令

    用mvn assembly:assembly打包

    打包结果,就把UserAgentParser打包进去了

    写shell脚本执行此Jar包
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容