认识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只带的打包工具
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200815131359632.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L20wXzQ2OTM3NDI5,size_16,color_FFFFFF,t_70#pic_center
上传到liunx
开启hadoop服务
跑jar任务
后面跟的是输入输出路径
hdfs 查看
**由于我的数据没有总流量所以现在总流量是0 **
- 总结
- 简单的mapreduce 保留想要的数据
- 明天把清洗的数据写到hive 里