溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

MapReduce的思想

發(fā)布時(shí)間:2020-07-14 12:48:28 來(lái)源:網(wǎng)絡(luò) 閱讀:374 作者:哈斗篷 欄目:大數(shù)據(jù)

項(xiàng)目實(shí)戰(zhàn)案例:搜狗日志查詢分析

數(shù)據(jù):

一、電商大數(shù)據(jù)平臺(tái)整體架構(gòu)
1、大數(shù)據(jù)(Hadoop、Spark、Hive)都是一種數(shù)據(jù)倉(cāng)庫(kù)的實(shí)現(xiàn)方式
核心問(wèn)題:數(shù)據(jù)存儲(chǔ)、數(shù)據(jù)計(jì)算
什么是數(shù)據(jù)倉(cāng)庫(kù)?傳統(tǒng)的解決大數(shù)據(jù)的方式,就是一個(gè)數(shù)據(jù)庫(kù)
一般只做查詢

2、大數(shù)據(jù)平臺(tái)整體的架構(gòu)
    部署:Apache、Ambari(HDP)、CDH

二、在項(xiàng)目中使用使用瀑布模型(軟件工程:方法論)
1、瀑布模型幾個(gè)階段?
2、每個(gè)階段完成的任務(wù)

三、使用MapReduce進(jìn)行分析處理(Java程序)
1、MapReduce的基本原理(編程模型)
() 思想來(lái)源:Google的論文:MapReduce 問(wèn)題 PageRank(網(wǎng)頁(yè)排名)
(
) 先拆分、再合并-----> 分布式計(jì)算

2、使用MapReduce進(jìn)行日志分析

四、使用Spark進(jìn)行分析和處理(Scala語(yǔ)言、Java語(yǔ)言)
1、Spark的優(yōu)點(diǎn)和體系架構(gòu)
2、使用Scala開(kāi)發(fā)Spark任務(wù)進(jìn)行日志分析
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(蜂巢)進(jìn)行分析和處理
1、什么是Hive?特點(diǎn)?Hive體系結(jié)構(gòu)
是基于HDFS之上的數(shù)據(jù)倉(cāng)庫(kù)
支持SQL語(yǔ)句
是翻譯器:SQL ----> MapReduce(Spark任務(wù))

2、使用Hive進(jìn)行查詢操作![](https://cache.yisu.com/upload/information/20200310/72/153260.jpg?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
        ① 創(chuàng)建Hive對(duì)應(yīng)的表
        create table sogoulog(accesstime string,useID string,keyword string,no1 int,clickid int,url string) row format delimited fields terminated by ',';

    **  ② 將原始數(shù)據(jù)進(jìn)行清洗:因?yàn)橛行┎粷M足長(zhǎng)度為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(","))   這里需要注意轉(zhuǎn)成字符串
        rdd3.saveAsTextFile("hdfs://mydemo71:8020/myproject/cleandata/sogou")

    **  ③ 將清洗后的數(shù)據(jù)導(dǎo)入Hive
        load data inpath '/myproject/cleandata/sogou/part-00000' into table sogoulog;
        load data inpath '/myproject/cleandata/sogou/part-00001' into table sogoulog;

        ④ 使用SQL查詢滿足條件的數(shù)據(jù)(只顯示前10條)**
        select * from sogoulog where no1=1 and clickid=2 limit 10;**
  查詢10號(hào)部門 工資大于2000的員工
      很多人都知道我有大數(shù)據(jù)培訓(xùn)資料,都天真的以為我有全套的大數(shù)據(jù)開(kāi)發(fā)、hadoop、spark等視頻學(xué)習(xí)資料。我想說(shuō)你們是對(duì)的,我的確有大數(shù)據(jù)開(kāi)發(fā)、hadoop、spark的全套視頻資料。

如果你對(duì)大數(shù)據(jù)開(kāi)發(fā)感興趣可以加口群領(lǐng)取免費(fèi)學(xué)習(xí)資料: 763835121

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI