項(xiàng)目實(shí)戰(zhàn)案例:搜狗日志查詢分析
為廣陵等地區(qū)用戶提供了全套網(wǎng)頁(yè)設(shè)計(jì)制作服務(wù),及廣陵網(wǎng)站建設(shè)行業(yè)解決方案。主營(yíng)業(yè)務(wù)為網(wǎng)站制作、做網(wǎng)站、廣陵網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠(chéng)的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長(zhǎng)期合作。這樣,我們也可以走得更遠(yuǎn)!
一、電商大數(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)行查詢操作![](/upload/otherpic73/153260.jpg)
① 創(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