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进行查询操作![](/upload/otherpic73/153260.jpg)
① 创建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的思想
文章转载:http://ybzwz.com/article/pihsse.html