MapReduce的思想
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MapReduce的思想相关的知识,希望对你有一定的参考价值。
项目实战案例:搜狗日志查询分析数据:
一、电商大数据平台整体架构
1、大数据(Hadoop、Spark、Hive)都是一种数据仓库的实现方式
核心问题:数据存储、数据计算
什么是数据仓库?传统的解决大数据的方式,就是一个数据库
一般只做查询
2、大数据平台整体的架构
部署:Apache、Ambari(HDP)、CDH
二、在项目中使用使用瀑布模型(软件工程:方法论)
1、瀑布模型几个阶段?
2、每个阶段完成的任务
三、使用MapReduce进行分析处理(Java程序)
1、MapReduce的基本原理(编程模型)
() 思想来源:Google的论文:MapReduce 问题 PageRank(网页排名)
() 先拆分、再合并-----> 分布式计算
2、使用MapReduce进行日志分析
四、使用Spark进行分析和处理(Scala语言、Java语言)
1、Spark的优点和体系架构
2、使用Scala开发Spark任务进行日志分析
bin/spark-shell --master spark://bigdata11:7077
val rdd1 = sc.textFile("hdfs://mydemo71:8020/myproject/data/SogouQ1.txt")
val rdd2=rdd1.map(_.split("\t")).filter(_.length==6)
rdd2.count()
val rdd3=rdd2.filter(_(3).toInt==1).filter(_(4).toInt==2)
rdd3.count()
rdd3.take(3)
五、使用Hive(蜂巢)进行分析和处理
1、什么是Hive?特点?Hive体系结构
是基于HDFS之上的数据仓库
支持SQL语句
是翻译器:SQL ----> MapReduce(Spark任务)
2、使用Hive进行查询操作![](http://i2.51cto.com/images/blog/201805/06/c1b98f5698511262bb9b56d0174a331d.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
① 创建Hive对应的表
create table sogoulog(accesstime string,useID string,keyword string,no1 int,clickid int,url string) row format delimited fields terminated by ‘,‘;
** ② 将原始数据进行清洗:因为有些不满足长度为6
val rdd1 = sc.textFile("hdfs://mydemo71:8020/myproject/data/SogouQ1.txt")
val rdd2=rdd1.map(_.split("\t")).filter(_.length==6)
val rdd3 = rdd2.map(x=>x.mkString(",")) 这里需要注意转成字符串
rdd3.saveAsTextFile("hdfs://mydemo71:8020/myproject/cleandata/sogou")
** ③ 将清洗后的数据导入Hive
load data inpath ‘/myproject/cleandata/sogou/part-00000‘ into table sogoulog;
load data inpath ‘/myproject/cleandata/sogou/part-00001‘ into table sogoulog;
④ 使用SQL查询满足条件的数据(只显示前10条)**
select * from sogoulog where no1=1 and clickid=2 limit 10;**
查询10号部门 工资大于2000的员工 很多人都知道我有大数据培训资料,都天真的以为我有全套的大数据开发、hadoop、spark等视频学习资料。我想说你们是对的,我的确有大数据开发、hadoop、spark的全套视频资料。
如果你对大数据开发感兴趣可以加口群领取免费学习资料: 763835121
以上是关于MapReduce的思想的主要内容,如果未能解决你的问题,请参考以下文章