java大數(shù)據(jù)之引言

一、大數(shù)據(jù)概述

1.1大數(shù)據(jù)有哪些項目

尚硅谷大數(shù)據(jù)線下班全套視頻(2019年6月畢業(yè)班)

|____040_面試題講解.rar

|____039_面試視頻.rar

|____038_在線教育項目實(shí)戰(zhàn).rar

|____037_Flink項目.rar

|____036_Flink.rar

|____035_實(shí)時項目.rar

|____034_電商分析平臺項目.rar

|____033_Spark調(diào)優(yōu).rar

|____032_Spark.rar

|____031_Scala數(shù)據(jù)結(jié)構(gòu)和算法.rar

|____030_Scala.rar

|____029_階段考試.rar

|____028_ELK.rar

|____026_Ambari.rar

|____025_Kettle.rar

|____024_ClickHouse.rar

|____023_Hue.rar

|____022_Impala.rar

|____021_CDH安裝.rar

|____020_Kylin.rar

|____019_azkaban.rar

|____018_Oozie.rar

|____017_Sqoop.rar

|____016_HBase.rar

|____015_Kafka.rar

|____014_Flume.rar

|____013_Hive.rar

|____012_Zookeeper.rar

|____011_Hadoop.rar

|____010_Shell.rar

|____009_JVM&JUC.rar

|____008_Git.rar

|____007_MySQL高級.rar

|____006_Redis.rar

|____005_Linux.rar

|____004_SpringBoot.rar

|____003_Spring.rar

|____002_Maven.rar

|____001_WEB.rar

|____000JavaSe

1.2大數(shù)據(jù)可視化

1.3大數(shù)據(jù)概覽圖

1.4大數(shù)據(jù)學(xué)習(xí)路線圖

1.5大數(shù)據(jù)尚硅谷視頻

鏈接地址:https://pan.baidu.com/s/101G6ADMm2oWeDo3FHw0fWw提取密碼:s8db


二、大數(shù)據(jù)的作用

2.1數(shù)據(jù)倉庫、數(shù)據(jù)平臺的用途:

整合公司所有業(yè)務(wù)數(shù)據(jù),建立統(tǒng)一的數(shù)據(jù)中心

提供各種報表,有給高層的,有給各個業(yè)務(wù)的

為網(wǎng)站運(yùn)營提供運(yùn)營上的數(shù)據(jù)支持,就是通過數(shù)據(jù),讓運(yùn)營及時了解網(wǎng)站和產(chǎn)品的運(yùn)營效果

為各個業(yè)務(wù)提供線上或線下的數(shù)據(jù)支持,成為公司統(tǒng)一的數(shù)據(jù)交換與提供平臺

分析用戶行為數(shù)據(jù),通過數(shù)據(jù)挖掘來降低投入成本,提高投入效果,比如廣告定向精準(zhǔn)投放、用戶個性化推薦等

開發(fā)數(shù)據(jù)產(chǎn)品,直接或間接為公司盈利

建設(shè)開放數(shù)據(jù)平臺,開放公司數(shù)據(jù)

建設(shè)敏捷數(shù)據(jù)倉庫,除了對架構(gòu)技術(shù)上的要求之外,還有一個很重要的方面,就是數(shù)據(jù)建模,如果一上來就想著建立一套能兼容所有數(shù)據(jù)和業(yè)務(wù)的數(shù)據(jù)模型,那就又回到傳統(tǒng)數(shù)據(jù)倉庫的建設(shè)上了,很難滿足對業(yè)務(wù)變化的快速響應(yīng)。

2.2數(shù)據(jù)采集

數(shù)據(jù)采集層的任務(wù)就是把數(shù)據(jù)從各種數(shù)據(jù)源中采集和存儲到數(shù)據(jù)存儲上,期間有可能會做一些簡單的清洗。

數(shù)據(jù)源的種類比較多:

網(wǎng)站日志:

作為互聯(lián)網(wǎng)行業(yè),網(wǎng)站日志占的份額最大,網(wǎng)站日志存儲在多臺網(wǎng)站日志服務(wù)器上,

一般是在每臺網(wǎng)站日志服務(wù)器上部署flume agent,實(shí)時的收集網(wǎng)站日志并存儲到HDFS上;


業(yè)務(wù)數(shù)據(jù)庫:

業(yè)務(wù)數(shù)據(jù)庫的種類也是多種多樣,有Mysql、Oracle、SqlServer等,這時候,我們迫切的需要一種能從各種數(shù)據(jù)庫中將數(shù)據(jù)同步到HDFS上的工具,Sqoop是一種,但是Sqoop太過繁重,而且不管數(shù)據(jù)量大小,都需要啟動MapReduce來執(zhí)行,而且需要Hadoop集群的每臺機(jī)器都能訪問業(yè)務(wù)數(shù)據(jù)庫;應(yīng)對此場景,淘寶開源的DataX,是一個很好的解決方案,有資源的話,可以基于DataX之上做二次開發(fā),就能非常好的解決。

當(dāng)然,F(xiàn)lume通過配置與開發(fā),也可以實(shí)時的從數(shù)據(jù)庫中同步數(shù)據(jù)到HDFS。


來自于Ftp/Http的數(shù)據(jù)源:

有可能一些合作伙伴提供的數(shù)據(jù),需要通過Ftp/Http等定時獲取,DataX也可以滿足該需求;


其他數(shù)據(jù)源:

比如一些手工錄入的數(shù)據(jù),只需要提供一個接口或小程序,即可完成;


2.3、數(shù)據(jù)存儲與分析

毋庸置疑,HDFS是大數(shù)據(jù)環(huán)境下數(shù)據(jù)倉庫/數(shù)據(jù)平臺最完美的數(shù)據(jù)存儲解決方案。

離線數(shù)據(jù)分析與計算,也就是對實(shí)時性要求不高的部分,在筆者看來,Hive還是首當(dāng)其沖的選擇,豐富的數(shù)據(jù)類型、內(nèi)置函數(shù);壓縮比非常高的ORC文件存儲格式;非常方便的SQL支持,使得Hive在基于結(jié)構(gòu)化數(shù)據(jù)上的統(tǒng)計分析遠(yuǎn)遠(yuǎn)比MapReduce要高效的多,一句SQL可以完成的需求,開發(fā)MR可能需要上百行代碼;

當(dāng)然,使用Hadoop框架自然而然也提供了MapReduce接口,如果真的很樂意開發(fā)Java,或者對SQL不熟,那么也可以使用MapReduce來做分析與計算;

Spark是這兩年非常火的,經(jīng)過實(shí)踐,它的性能的確比MapReduce要好很多,而且和Hive、Yarn結(jié)合的越來越好,因此,必須支持使用Spark和SparkSQL來做分析和計算。因?yàn)橐呀?jīng)有Hadoop Yarn,使用Spark其實(shí)是非常容易的,不用單獨(dú)部署Spark集群。


2.4、數(shù)據(jù)共享

這里的數(shù)據(jù)共享,其實(shí)指的是前面數(shù)據(jù)分析與計算后的結(jié)果存放的地方,其實(shí)就是關(guān)系型數(shù)據(jù)庫和NOSQL數(shù)據(jù)庫;

前面使用Hive、MR、Spark、SparkSQL分析和計算的結(jié)果,還是在HDFS上,但大多業(yè)務(wù)和應(yīng)用不可能直接從HDFS上獲取數(shù)據(jù),那么就需要一個數(shù)據(jù)共享的地方,使得各業(yè)務(wù)和產(chǎn)品能方便的獲取數(shù)據(jù);和數(shù)據(jù)采集層到HDFS剛好相反,這里需要一個從HDFS將數(shù)據(jù)同步至其他目標(biāo)數(shù)據(jù)源的工具,同樣,DataX也可以滿足。另外,一些實(shí)時計算的結(jié)果數(shù)據(jù)可能由實(shí)時計算模塊直接寫入數(shù)據(jù)共享。

2.5、數(shù)據(jù)應(yīng)用

業(yè)務(wù)產(chǎn)品(CRM、ERP等)

業(yè)務(wù)產(chǎn)品所使用的數(shù)據(jù),已經(jīng)存在于數(shù)據(jù)共享層,直接從數(shù)據(jù)共享層訪問即可;

報表(FineReport、業(yè)務(wù)報表)

同業(yè)務(wù)產(chǎn)品,報表所使用的數(shù)據(jù),一般也是已經(jīng)統(tǒng)計匯總好的,存放于數(shù)據(jù)共享層;

即席查詢

即席查詢的用戶有很多,有可能是數(shù)據(jù)開發(fā)人員、網(wǎng)站和產(chǎn)品運(yùn)營人員、數(shù)據(jù)分析人員、甚至是部門老大,他們都有即席查詢數(shù)據(jù)的需求;

這種即席查詢通常是現(xiàn)有的報表和數(shù)據(jù)共享層的數(shù)據(jù)并不能滿足他們的需求,需要從數(shù)據(jù)存儲層直接查詢。

即席查詢一般是通過SQL完成,最大的難度在于響應(yīng)速度上,使用Hive有點(diǎn)慢,可以用SparkSQL,它的響應(yīng)速度較Hive快很多,而且能很好的與Hive兼容。

當(dāng)然,你也可以使用Impala,如果不在乎平臺中再多一個框架的話。

OLAP

目前,很多的OLAP工具不能很好的支持從HDFS上直接獲取數(shù)據(jù),都是通過將需要的數(shù)據(jù)同步到關(guān)系型數(shù)據(jù)庫中做OLAP,但如果數(shù)據(jù)量巨大的話,關(guān)系型數(shù)據(jù)庫顯然不行;

這時候,需要做相應(yīng)的開發(fā),從HDFS或者HBase中獲取數(shù)據(jù),完成OLAP的功能;比如:根據(jù)用戶在界面上選擇的不定的維度和指標(biāo),通過開發(fā)接口,從HBase中獲取數(shù)據(jù)來展示。

其它數(shù)據(jù)接口

這種接口有通用的,有定制的。比如:一個從Redis中獲取用戶屬性的接口是通用的,所有的業(yè)務(wù)都可以調(diào)用這個接口來獲取用戶屬性。


2.6、實(shí)時計算

現(xiàn)在業(yè)務(wù)對數(shù)據(jù)倉庫實(shí)時性的需求越來越多,比如:實(shí)時的了解網(wǎng)站的整體流量;實(shí)時的獲取一個廣告的曝光和點(diǎn)擊;在海量數(shù)據(jù)下,依靠傳統(tǒng)數(shù)據(jù)庫和傳統(tǒng)實(shí)現(xiàn)方法基本完成不了,需要的是一種分布式的、高吞吐量的、延時低的、高可靠的實(shí)時計算框架;Storm在這塊是比較成熟了,但我選擇Spark Streaming,原因很簡單,不想多引入一個框架到平臺中,另外,Spark Streaming比Storm延時性高那么一點(diǎn)點(diǎn),那對于我們的需要可以忽略。

我們目前使用Spark Streaming實(shí)現(xiàn)了實(shí)時的網(wǎng)站流量統(tǒng)計、實(shí)時的廣告效果統(tǒng)計兩塊功能。

做法也很簡單,由Flume在前端日志服務(wù)器上收集網(wǎng)站日志和廣告日志,實(shí)時的發(fā)送給Spark Streaming,由Spark Streaming完成統(tǒng)計,將數(shù)據(jù)存儲至Redis,業(yè)務(wù)通過訪問Redis實(shí)時獲取。

2.7、任務(wù)調(diào)度與監(jiān)控

在數(shù)據(jù)倉庫/數(shù)據(jù)平臺中,有各種各樣非常多的程序和任務(wù),比如:數(shù)據(jù)采集任務(wù)、數(shù)據(jù)同步任務(wù)、數(shù)據(jù)分析任務(wù)等;

這些任務(wù)除了定時調(diào)度,還存在非常復(fù)雜的任務(wù)依賴關(guān)系,比如:數(shù)據(jù)分析任務(wù)必須等相應(yīng)的數(shù)據(jù)采集任務(wù)完成后才能開始;數(shù)據(jù)同步任務(wù)需要等數(shù)據(jù)分析任務(wù)完成后才能開始;

這就需要一個非常完善的任務(wù)調(diào)度與監(jiān)控系統(tǒng),它作為數(shù)據(jù)倉庫/數(shù)據(jù)平臺的中樞,負(fù)責(zé)調(diào)度和監(jiān)控所有任務(wù)的分配與運(yùn)行。


2.8、元數(shù)據(jù)管理

這塊想要做好,非常復(fù)雜,我覺得是且價值小于成本,因此我們暫不考慮這塊。目前只有每天任務(wù)運(yùn)行的元數(shù)據(jù)。

2.9、總結(jié)

在筆者看來,架構(gòu),并不是技術(shù)越多越新越好,而是在可以滿足需求的情況下,越簡單越穩(wěn)定越好。目前在我們的數(shù)據(jù)平臺中,開發(fā)更多的是關(guān)注業(yè)務(wù),而不是技術(shù),他們把業(yè)務(wù)和需求搞清楚了,基本上只需要做簡單的SQL開發(fā),然后配置到調(diào)度系統(tǒng)就可以了,如果任務(wù)異常,會收到告警。這樣,可以使更多的資源專注于業(yè)務(wù)之上。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容