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的思想的主要内容,如果未能解决你的问题,请参考以下文章

从分治算法到 MapReduce

MapReduce的核心编程思想

从分治算法到 MapReduce

MapReduce的核心思想

Hadoop 的核心:Mapreduce思想说明

MapReduce核心思想编程规范及bean序列化