--文末送大數(shù)據(jù)書(shū)籍-- 隨著大數(shù)據(jù)行業(yè)的發(fā)展,大數(shù)據(jù)生態(tài)圈中相關(guān)的技術(shù)也在一直迭代進(jìn)步,,作者有幸親身經(jīng)歷了國(guó)內(nèi)大數(shù)據(jù)行業(yè)從零到一的發(fā)展歷程,,通過(guò)本文希望能夠幫助大家快速構(gòu)建大數(shù)據(jù)生態(tài)圈完整知識(shí)體系。 目前大數(shù)據(jù)生態(tài)圈中的核心技術(shù)總結(jié)下來(lái)如圖1所示,,分為以下9類,下面分別介紹,。 一,、數(shù)據(jù)采集技術(shù)框架數(shù)據(jù)采集也被稱為數(shù)據(jù)同步。隨著互聯(lián)網(wǎng),、移動(dòng)互聯(lián)網(wǎng),、物聯(lián)網(wǎng)等技術(shù)的興起,產(chǎn)生了海量數(shù)據(jù),。這些數(shù)據(jù)散落在各個(gè)地方,,我們需要將這些數(shù)據(jù)融合到一起,然后從這些海量數(shù)據(jù)中計(jì)算出一些有價(jià)值的內(nèi)容,。此時(shí)第一步需要做的是把數(shù)據(jù)采集過(guò)來(lái),。數(shù)據(jù)采集是大數(shù)據(jù)的基礎(chǔ),沒(méi)有數(shù)據(jù)采集,,何談大數(shù)據(jù),! 數(shù)據(jù)采集技術(shù)框架包括以下幾種:
Flume,、Logstash和FileBeat的技術(shù)選型如圖2所示: Sqoop和Datax之間的技術(shù)選型如圖3所示: Cannal和Maxwell之間的技術(shù)選型如圖4所示: 二,、數(shù)據(jù)存儲(chǔ)技術(shù)框架數(shù)據(jù)的快速增長(zhǎng)推動(dòng)了技術(shù)的發(fā)展,涌現(xiàn)出了一批優(yōu)秀的,、支持分布式的存儲(chǔ)系統(tǒng),。 數(shù)據(jù)存儲(chǔ)技術(shù)框架包括HDFS、HBase,、Kudu,、Kafka等,。
三,、分布式資源管理框架在傳統(tǒng)的IT領(lǐng)域中,企業(yè)的服務(wù)器資源(內(nèi)存,、CPU等)是有限的,,也是固定的。但是,,服務(wù)器的應(yīng)用場(chǎng)景卻是靈活多變的,。例如,今天臨時(shí)上線了一個(gè)系統(tǒng),,需要占用幾臺(tái)服務(wù)器,;過(guò)了幾天,需要把這個(gè)系統(tǒng)下線,,把這幾臺(tái)服務(wù)器清理出來(lái),。 在大數(shù)據(jù)時(shí)代到來(lái)之前,服務(wù)器資源的變更對(duì)應(yīng)的是系統(tǒng)的上線和下線,,這些變動(dòng)是有限的,。隨著大數(shù)據(jù)時(shí)代的到來(lái),臨時(shí)任務(wù)的需求量大增,,這些任務(wù)往往需要大量的服務(wù)器資源,。如果此時(shí)還依賴運(yùn)維人員人工對(duì)接服務(wù)器資源的變更,顯然是不現(xiàn)實(shí)的,。因此,,分布式資源管理系統(tǒng)應(yīng)運(yùn)而生,,常見(jiàn)的包括YARN、Kubernetes和Mesos,,它們的典型應(yīng)用領(lǐng)域如圖5所示,。 四、數(shù)據(jù)計(jì)算技術(shù)框架數(shù)據(jù)計(jì)算分為離線數(shù)據(jù)計(jì)算和實(shí)時(shí)數(shù)據(jù)計(jì)算,。 1. 離線數(shù)據(jù)計(jì)算大數(shù)據(jù)中的離線數(shù)據(jù)計(jì)算引擎經(jīng)過(guò)十幾年的發(fā)展,,到目前為止主要發(fā)生了3次大的變更。
2. 實(shí)時(shí)數(shù)據(jù)計(jì)算業(yè)內(nèi)最典型的實(shí)時(shí)數(shù)據(jù)計(jì)算場(chǎng)景是天貓“雙十一”的數(shù)據(jù)大屏,。數(shù)據(jù)大屏中展現(xiàn)的成交總金額、訂單總量等數(shù)據(jù)指標(biāo),,都是實(shí)時(shí)計(jì)算出來(lái)的,。用戶購(gòu)買商品后,商品的金額就會(huì)被實(shí)時(shí)增加到數(shù)據(jù)大屏中的成交總金額中,。
他和Storm、Flink之間的區(qū)別見(jiàn)表4,。 Storm,、Spark、Flink 之間的技術(shù)選型如圖6所示,。 目前企業(yè)中離線計(jì)算主要使用Spark,,實(shí)時(shí)計(jì)算主要使用Flink。 五,、數(shù)據(jù)分析技術(shù)框架數(shù)據(jù)分析技術(shù)框架包括Hive,、Impala,、Kylin、Clickhouse,、Druid,、Drois等,它們的典型應(yīng)用場(chǎng)景如圖7所示,。 Hive,、Impala和Kylin屬于典型的離線OLAP數(shù)據(jù)分析引擎,主要應(yīng)用在離線數(shù)據(jù)分析領(lǐng)域,,它們之間的區(qū)別見(jiàn)表5,。
Clickhouse,、Druid和Drois屬于典型的實(shí)時(shí)OLAP數(shù)據(jù)分析引擎,主要應(yīng)用在實(shí)時(shí)數(shù)據(jù)分析領(lǐng)域,,它們之間的區(qū)別見(jiàn)表6,。
六,、任務(wù)調(diào)度技術(shù)框架包括Azkaban、Ooize,、DolphinScheduler等,。它們適用于普通定時(shí)執(zhí)行的例行化任務(wù),以及包含復(fù)雜依賴關(guān)系的多級(jí)任務(wù)進(jìn)行調(diào)度,,支持分布式,,保證調(diào)度系統(tǒng)的性能和穩(wěn)定性,它們之間的區(qū)別見(jiàn)表7,。 它們之前的技術(shù)選型如圖8所示,。 七、大數(shù)據(jù)底層基礎(chǔ)技術(shù)框架大數(shù)據(jù)底層基礎(chǔ)技術(shù)框架主要是指Zookeeper。Zookeepe主要提供常用的基礎(chǔ)功能(例如:命名空間,、配置服務(wù)等),,大數(shù)據(jù)生態(tài)圈中的Hadoop(HA)、HBase,、Kafka等技術(shù)組件的運(yùn)行都會(huì)用到Zookeeper,。 八、數(shù)據(jù)檢索技術(shù)框架隨著企業(yè)中數(shù)據(jù)的逐步積累,,針對(duì)海量數(shù)據(jù)的統(tǒng)計(jì)分析需求會(huì)變得越來(lái)越多樣化:不僅要進(jìn)行分析,,還要實(shí)現(xiàn)多條件快速?gòu)?fù)雜查詢。例如,,電商網(wǎng)站中的商品搜索功能,,以及各種搜索引擎中的信息檢索功能,這些功能都屬于多條件快速?gòu)?fù)雜查詢的范疇,。 在選擇全文檢索引擎工具時(shí),,可以從易用性、擴(kuò)展性,、穩(wěn)定性,、集群運(yùn)維難度、項(xiàng)目集成程度,、社區(qū)活躍度這幾個(gè)方面進(jìn)行對(duì)比,。Lucene、Solr和Elasticsearch的對(duì)比見(jiàn)表8,。 九,、大數(shù)據(jù)集群安裝管理框架企業(yè)如果想從傳統(tǒng)的數(shù)據(jù)處理轉(zhuǎn)型到大數(shù)據(jù)處理,首先要做就是搭建一個(gè)穩(wěn)定可靠的大數(shù)據(jù)平臺(tái),。 一個(gè)完整的大數(shù)據(jù)平臺(tái)需要包含數(shù)據(jù)采集,、數(shù)據(jù)存儲(chǔ),、數(shù)據(jù)計(jì)算,、數(shù)據(jù)分析、集群監(jiān)控等功能,,這就意味著其中需要包含F(xiàn)lume,、Kafka、Haodop,、Hive,、HBase、Spark,、Flink等組件,,這些組件需要部署到上百臺(tái)甚至上千臺(tái)機(jī)器中。 如果依靠運(yùn)維人員單獨(dú)安裝每一個(gè)組件,則工作量比較大,,而且需要考慮版本之間的匹配問(wèn)題及各種沖突問(wèn)題,,并且后期集群維護(hù)工作也會(huì)給運(yùn)維人員造成很大的壓力。 于是,,國(guó)外一些廠商就對(duì)大數(shù)據(jù)中的組件進(jìn)行了封裝,,提供了一體化的大數(shù)據(jù)平臺(tái),利用它可以快速安裝大數(shù)據(jù)組件,。目前業(yè)內(nèi)最常見(jiàn)的是包括CDH,、HDP、CDP等,。
三者的關(guān)系如圖9所示,。 以上內(nèi)容出自于《大數(shù)據(jù)技術(shù)及架構(gòu)圖解實(shí)戰(zhàn)派》一書(shū),。 |
|
來(lái)自: 冬日暖陽(yáng)2024 > 《我的圖書(shū)館》