认识MapRreduce 用户行为日志分析

785 阅读2分钟

这是我参与8月更文挑战的第19天,活动详情查看:8月更文挑战

认识MapReduce

什么是mapperreduce

MapReduce源于Google一篇论文,是谷歌MapReuce的克隆版,它充分借鉴了分而治之的思想,将一个数据处理过程拆分为主要的Map(映射)与Reduce(归并)两步。 这样即使用户不懂分布式计算框架的内部运行机制,只要能用Map和Reduce的思想描述清楚要处理的问题。即编写map和reduce函数,就,就可以轻松的使用计算实现分布式,并在Hadoop上运行

mapreduce的特点!

开发简单

得益于MapReduce的编程模型,用户可以不用考虑进程间通信、套接字编程,无需非常高深的技巧,只需要实现一些简单的逻辑,其他的交由MapReduce计算框架去完成,大大简化了分布式程序的编程难度。

可扩展性强

同HDFS一样,当集群资源不能满足计算需求时,可以通过增加节点的方式达到线性扩展集群的目的。

容错性强

对于节点故障导致的作业失败,MapReduce计算框架会自动将作业安排到健康节点重新执行,直到任务完成,而这些,对于用户来说是透明的

还是上图吧!!!

在这里插入图片描述

MapReduce项目实战-用户流量排序

什么是用户行为日志?

用户行为日志(用户行为轨迹/流量日志)表示用户每次访问网站时,所有的行为数据(访问、浏览、搜索、点击等等)

用户分析的意义!

网站的眼睛

来自哪里、找什么?哪些页面最受欢迎?从哪里进来?

网站的神经

页面的构成方式怎么设计?链接应该怎么设计用户更方便使用?目录怎么设计用户体验更改好?

网站的大脑

分析目标,例如:根据某商品在某个城市的销售比例,分析合适的广告预算。

废话不多说上代码!!

**准备工作 **

1,伪分布式虚拟机一台! 2,hadoop + jdk 完整配置

流程

1,使用MapReduce 清洗数据,上传到hdfs

目录结构

在这里插入图片描述

flowbean类

在这里插入图片描述

mapper类

在这里插入图片描述

reduce类

在这里插入图片描述

提交类

在这里插入图片描述

在hadoop中提交任务

打包jar文件 如果有maven可以使用maven进行打包操作,如果没有可以使用eclipse只带的打包工具 在这里插入图片描述

![在这里插入图片描述](img-blog.csdnimg.cn/20200815131… 在这里插入图片描述 在这里插入图片描述

上传到liunx

在这里插入图片描述

开启hadoop服务 在这里插入图片描述 跑jar任务 在这里插入图片描述

在这里插入图片描述 后面跟的是输入输出路径

hdfs 查看 在这里插入图片描述 在这里插入图片描述 **由于我的数据没有总流量所以现在总流量是0 **

  • 总结
  • 简单的mapreduce 保留想要的数据
  • 明天把清洗的数据写到hive 里