最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

大數(shù)據(jù)基礎(chǔ)知識,還不了解大數(shù)據(jù)就真的OUT了

2020-07-08 14:10 作者:自學(xué)Python的小姐姐呀  | 我要投稿

如果要問最近幾年,IT行業(yè)哪個技術(shù)方向最火?一定屬于ABC,即AI + Big Data + Cloud,也就是人工智能、大數(shù)據(jù)和云計算。

這幾年,隨著互聯(lián)網(wǎng)大潮走向低谷,同時傳統(tǒng)企業(yè)紛紛進行數(shù)字化轉(zhuǎn)型,基本各個公司都在考慮如何進一步挖掘數(shù)據(jù)價值,提高企業(yè)的運營效率。在這種趨勢下,大數(shù)據(jù)技術(shù)越來越重要。所以,AI時代,還不了解大數(shù)據(jù)就真的OUT了!

相比較AI和云計算,大數(shù)據(jù)的技術(shù)門檻更低一些,而且跟業(yè)務(wù)的相關(guān)性更大。我個人感覺再過幾年,大數(shù)據(jù)技術(shù)將會像當(dāng)前的分布式技術(shù)一樣,變成一項基本的技能要求。

前幾天,我在團隊內(nèi)進行了一次大數(shù)據(jù)的技術(shù)分享,重點是對大數(shù)據(jù)知識做一次掃盲,同時提供一份學(xué)習(xí)指南。這篇文章,我基于分享的內(nèi)容再做一次系統(tǒng)性整理,希望對大數(shù)據(jù)方向感興趣的同學(xué)有所幫助,內(nèi)容分成以下5個部分:

1、大數(shù)據(jù)的發(fā)展歷史?
2、大數(shù)據(jù)的核心概念?
3、大數(shù)據(jù)平臺的通用架構(gòu)和技術(shù)體系
4、大數(shù)據(jù)的通用處理流程?
5、大數(shù)據(jù)下的數(shù)倉體系架構(gòu)


01 大數(shù)據(jù)的發(fā)展歷史

在解釋「大數(shù)據(jù)」這個概念之前,先帶大家了解下大數(shù)據(jù)將近30年的發(fā)展歷史,共經(jīng)歷了5個階段。那在每個階段中,大數(shù)據(jù)的歷史定位是怎樣的?又遇到了哪些痛點呢?



1.1 啟蒙階段:數(shù)據(jù)倉庫的出現(xiàn)

20世紀90年代,商業(yè)智能(也就是我們熟悉的BI系統(tǒng))誕生,它將企業(yè)已有的業(yè)務(wù)數(shù)據(jù)轉(zhuǎn)化成為知識,幫助老板們進行經(jīng)營決策。比如零售場景中:需要分析商品的銷售數(shù)據(jù)和庫存信息,以便制定合理的采購計劃。

顯然,商業(yè)智能離不開數(shù)據(jù)分析,它需要聚合多個業(yè)務(wù)系統(tǒng)的數(shù)據(jù)(比如交易系統(tǒng)、倉儲系統(tǒng)),再進行大數(shù)據(jù)量的范圍查詢。而傳統(tǒng)數(shù)據(jù)庫都是面向單一業(yè)務(wù)的增刪改查,無法滿足此需求,這樣就促使了數(shù)據(jù)倉庫概念的出現(xiàn)。

傳統(tǒng)的數(shù)據(jù)倉庫,第一次明確了數(shù)據(jù)分析的應(yīng)用場景,并采用單獨的解決方案去實現(xiàn),不依賴業(yè)務(wù)數(shù)據(jù)庫。

1.2 技術(shù)變革:Hadoop誕生



2000年左右,PC互聯(lián)網(wǎng)時代來臨,同時帶來了海量信息,很典型的兩個特征:

  • 數(shù)據(jù)規(guī)模變大:Google、雅虎等互聯(lián)網(wǎng)巨頭一天可以產(chǎn)生上億條行為數(shù)據(jù)。

  • 數(shù)據(jù)類型多樣化:除了結(jié)構(gòu)化的業(yè)務(wù)數(shù)據(jù),還有海量的用戶行為數(shù)據(jù),以圖像、視頻為代表的多媒體數(shù)據(jù)。

很顯然,傳統(tǒng)數(shù)據(jù)倉庫無法支撐起互聯(lián)網(wǎng)時代的商業(yè)智能。2003年,Google公布了3篇鼻祖型論文(俗稱「谷歌3駕馬車」),包括:分布式處理技術(shù)MapReduce,列式存儲BigTable,分布式文件系統(tǒng)GFS。這3篇論文奠定了現(xiàn)代大數(shù)據(jù)技術(shù)的理論基礎(chǔ)。

苦于Google并沒有開源這3個產(chǎn)品的源代碼,而只是發(fā)布了詳細設(shè)計論文。2005年,Yahoo資助Hadoop按照這3篇論文進行了開源實現(xiàn),這一技術(shù)變革正式拉開了大數(shù)據(jù)時代的序幕。

Hadoop相對于傳統(tǒng)數(shù)據(jù)倉庫,有以下優(yōu)勢:

  • 完全分布式,可以采用廉價機器搭建集群,完全可以滿足海量數(shù)據(jù)的存儲需求。

  • 弱化數(shù)據(jù)格式,數(shù)據(jù)模型和數(shù)據(jù)存儲分離,可以滿足對異構(gòu)數(shù)據(jù)的分析需求。

隨著Hadoop技術(shù)的成熟,2010年的Hadoop世界大會上,提出了「數(shù)據(jù)湖」的概念。

數(shù)據(jù)湖是一個以原始格式存儲數(shù)據(jù)的系統(tǒng)。

企業(yè)可以基于Hadoop構(gòu)建數(shù)據(jù)湖,將數(shù)據(jù)作為企業(yè)的核心資產(chǎn)。由此,數(shù)據(jù)湖拉開了Hadoop商業(yè)化的大幕。

1.3 數(shù)據(jù)工廠時代:大數(shù)據(jù)平臺興起

商用Hadoop包含上十種技術(shù),整個數(shù)據(jù)研發(fā)流程非常復(fù)雜。為了完成一個數(shù)據(jù)需求開發(fā),涉及到數(shù)據(jù)抽取、數(shù)據(jù)存儲、數(shù)據(jù)處理、構(gòu)建數(shù)據(jù)倉庫、多維分析、數(shù)據(jù)可視化等一整套流程。這種高技術(shù)門檻顯然會制約大數(shù)據(jù)技術(shù)的普及。

此時,大數(shù)據(jù)平臺(平臺即服務(wù)的思想,PaaS)應(yīng)運而生,它是面向研發(fā)場景的全鏈路解決方案,能夠大大提高數(shù)據(jù)的研發(fā)效率,讓數(shù)據(jù)像在流水線上一樣快速完成加工,原始數(shù)據(jù)變成指標,出現(xiàn)在各個報表或者數(shù)據(jù)產(chǎn)品中。

1.4 數(shù)據(jù)價值時代:阿里提出數(shù)據(jù)中臺

2016年左右,已經(jīng)屬于移動互聯(lián)網(wǎng)時代了,隨著大數(shù)據(jù)平臺的普及,也催生了很多大數(shù)據(jù)的應(yīng)用場景。

此時開始暴露出一些新問題:為了快速實現(xiàn)業(yè)務(wù)需求,煙囪式開發(fā)模式導(dǎo)致了不同業(yè)務(wù)線的數(shù)據(jù)是完全割裂的,這樣造成了大量數(shù)據(jù)指標的重復(fù)開發(fā),不僅研發(fā)效率低、同時還浪費了存儲和計算資源,使得大數(shù)據(jù)的應(yīng)用成本越來越高。

極富遠見的馬云爸爸此時喊出了「數(shù)據(jù)中臺」的概念,「One Data,One Service」的口號開始響徹大數(shù)據(jù)界。數(shù)據(jù)中臺的核心思想是:避免數(shù)據(jù)的重復(fù)計算,通過數(shù)據(jù)服務(wù)化,提高數(shù)據(jù)的共享能力,賦能業(yè)務(wù)。


02 大數(shù)據(jù)的核心概念

了解了大數(shù)據(jù)的發(fā)展歷史后,再解釋下大數(shù)據(jù)的幾個核心概念。

2.1 究竟什么是大數(shù)據(jù)?

大數(shù)據(jù)是一種海量的、高增長率的、多樣化的信息資產(chǎn),它需要新的存儲和計算模式才能具有更強的決策力、流程優(yōu)化能力。

下面是大數(shù)據(jù)的4個典型特征:



  • Volume:海量的數(shù)據(jù)規(guī)模,數(shù)據(jù)體量達到PB甚至EB級別。

  • Variety:異構(gòu)的數(shù)據(jù)類型,不僅僅包含結(jié)構(gòu)化的數(shù)據(jù)、還包括半結(jié)構(gòu)化和非結(jié)構(gòu)化數(shù)據(jù),比如日志文件、圖像、音視頻等。

  • Velocity:快速的數(shù)據(jù)流轉(zhuǎn),數(shù)據(jù)的產(chǎn)生和處理速度非???。

  • Value:價值密度低,有價值的數(shù)據(jù)占比很小,需要用到人工智能等方法去挖掘新知識。

2.2 什么又是數(shù)據(jù)倉庫?

數(shù)據(jù)倉庫是面向主題的、集成的、隨著時間變化的、相對穩(wěn)定的數(shù)據(jù)集合。

簡單理解,數(shù)據(jù)倉庫是大數(shù)據(jù)的一種組織形式,有利于對海量數(shù)據(jù)的維護和進一步分析。

  • 面向主題的:表示按照主題或者業(yè)務(wù)場景組織數(shù)據(jù)。

  • 集成的:從多個異構(gòu)數(shù)據(jù)源采集數(shù)據(jù),進行抽取、加工、集成。

  • 隨時間變化的:關(guān)鍵數(shù)據(jù)需要標記時間屬性。

  • 相對穩(wěn)定的:極少進行數(shù)據(jù)刪除和修改,而只是進行數(shù)據(jù)新增。

2.3 傳統(tǒng)數(shù)據(jù)倉庫 vs 新一代數(shù)據(jù)倉庫隨著大數(shù)據(jù)時代的到來,傳統(tǒng)數(shù)據(jù)倉庫和新一代數(shù)據(jù)倉庫必然有很多不同,下面從多維度對比下兩代數(shù)據(jù)倉庫的異同。




03 大數(shù)據(jù)平臺的通用架構(gòu)前面談到大數(shù)據(jù)相關(guān)的技術(shù)有幾十種,下面通過大數(shù)據(jù)平臺的通用架構(gòu)來了解下整個技術(shù)體系。



3.1 數(shù)據(jù)傳輸層

  • Sqoop:支持RDBMS和HDFS之間的雙向數(shù)據(jù)遷移,通常用于抽取業(yè)務(wù)數(shù)據(jù)庫(比如MySQL、SQLServer、Oracle)的數(shù)據(jù)到HDFS.

  • Cannal:阿里開源的數(shù)據(jù)同步工具,通過監(jiān)聽MySQL binlog,實現(xiàn)增量數(shù)據(jù)訂閱和近實時同步。

  • Flume:用于海量日志采集、聚合和傳輸,將產(chǎn)生的數(shù)據(jù)保存到HDFS或者HBase中。

  • Flume + Kafka:滿足實時流式日志的處理,后面再通過Spark Streaming等流式處理技術(shù),可完成日志的實時解析和應(yīng)用。

3.2 數(shù)據(jù)存儲層

  • HDFS:分布式文件系統(tǒng),它是分布式計算中數(shù)據(jù)存儲管理的基礎(chǔ),是Google GFS的開源實現(xiàn),可部署在廉價商用機器上,具備高容錯、高吞吐和高擴展性。

  • HBase:分布式的、面向列的NoSQL KV數(shù)據(jù)庫, 它是Google BigTable的開源實現(xiàn),利用HDFS作為其文件存儲系統(tǒng),適合大數(shù)據(jù)的實時查詢(比如:IM場景)。

  • Kudu:折中了HDFS和HBase的分布式數(shù)據(jù)庫,既支持隨機讀寫、又支持OLAP分析的大數(shù)據(jù)存儲引擎(解決HBase不適合批量分析的痛點)。

3.3 資源管理層

  • Yarn:Hadoop的資源管理器,負責(zé)Hadoop集群資源的統(tǒng)一管理和調(diào)度,為運算程序(MR任務(wù))提供服務(wù)器運算資源(CPU、內(nèi)存),能支持MR、Spark、Flink等多種框架。

  • Kubernates:由Google開源,一種云平臺的容器化編排引擎,提供應(yīng)用的容器化管理,可在不同云、不同版本操作系統(tǒng)之間進行遷移。目前,Spark、Storm已經(jīng)支持K8S。

3.4 數(shù)據(jù)計算層大數(shù)據(jù)計算引擎決定了計算效率,是大數(shù)據(jù)平臺最核心的部分,它大致了經(jīng)歷以下4代的發(fā)展,又可以分成離線計算框架和實時計算框架。



3.4.1 離線計算框架

  • MapReduce:面向大數(shù)據(jù)并行處理的計算模型、框架和平臺(將計算向數(shù)據(jù)靠攏、減少數(shù)據(jù)傳輸,這個設(shè)計思路非常巧妙)。

  • Hive:一個數(shù)據(jù)倉庫工具,能管理HDFS存儲的數(shù)據(jù),可以將結(jié)構(gòu)化的數(shù)據(jù)文件映射為一張數(shù)據(jù)庫表,并提供完整的SQL查詢功能(實際運行時,是將Hive SQL翻譯成了MapReduce任務(wù)),適用離線非實時數(shù)據(jù)分析。

  • Spark sql:引入RDD(彈性分布式數(shù)據(jù)集)這一特殊的數(shù)據(jù)結(jié)構(gòu),將SQL轉(zhuǎn)換成RDD的計算,并將計算的中間結(jié)果放在內(nèi)存中,因此相對于Hive性能更高,適用實時性要求較高的數(shù)據(jù)分析場景。


3.4.2 實時計算框架

  • Spark Streaming:實時流數(shù)據(jù)處理框架(按時間片分成小批次,s級延遲),可以接收Kafka、Flume、HDFS等數(shù)據(jù)源的實時輸入數(shù)據(jù),經(jīng)過處理后,將結(jié)果保存在HDFS、RDBMS、HBase、Redis、Dashboard等地方。

  • Storm:實時流數(shù)據(jù)處理框架,真正的流式處理,每條數(shù)據(jù)都會觸發(fā)計算,低延遲(ms級延遲)。

  • Flink:更高級的實時流數(shù)據(jù)處理框架,相比Storm,延遲比storm低,而且吞吐量更高,另外支持亂序和調(diào)整延遲時間。

3.5 多維分析層

  • Kylin:分布式分析引擎,能在亞秒內(nèi)查詢巨大的Hive表,通過預(yù)計算(用空間換時間)將多維組合計算好的結(jié)果保存成Cube存儲在HBase中,用戶執(zhí)行SQL查詢時,將SQL轉(zhuǎn)換成對Cube查詢,具有快速查詢和高并發(fā)能力。

  • Druid:適用于實時數(shù)據(jù)分析的高容錯、高性能開源分布式系統(tǒng),可實現(xiàn)在秒級以內(nèi)對十億行級別的表進行任意的聚合分析。


04 大數(shù)據(jù)的通用處理流程

了解了大數(shù)據(jù)平臺的通用架構(gòu)和技術(shù)體系后,下面再看下針對離線數(shù)據(jù)和實時數(shù)據(jù),是如何運用大數(shù)據(jù)技術(shù)進行處理的?

上圖是一個通用的大數(shù)據(jù)處理流程,主要包括以下幾個步驟:

  • 數(shù)據(jù)采集:這是大數(shù)據(jù)處理的第一步,數(shù)據(jù)來源主要是兩類,第一類是各個業(yè)務(wù)系統(tǒng)的關(guān)系數(shù)據(jù)庫,通過Sqoop或者Cannal等工具進行定時抽取或者實時同步;第二類是各種埋點日志,通過Flume進行實時收集。

  • 數(shù)據(jù)存儲:收集到數(shù)據(jù)后,下一步便是將這些數(shù)據(jù)存儲在HDFS中,實時日志流情況下則通過Kafka輸出給后面的流式計算引擎。

  • 數(shù)據(jù)分析:這一步是數(shù)據(jù)處理最核心的環(huán)節(jié),包括離線處理和流處理兩種方式,對應(yīng)的計算引擎包括MapReduce、Spark、Flink等,處理完的結(jié)果會保存到已經(jīng)提前設(shè)計好的數(shù)據(jù)倉庫中,或者HBase、Redis、RDBMS等各種存儲系統(tǒng)上。

  • 數(shù)據(jù)應(yīng)用:包括數(shù)據(jù)的可視化展現(xiàn)、業(yè)務(wù)決策、或者AI等各種數(shù)據(jù)應(yīng)用場景。


05 大數(shù)據(jù)下的數(shù)倉體系架構(gòu)

數(shù)據(jù)倉庫是從業(yè)務(wù)角度出發(fā)的一種數(shù)據(jù)組織形式,它是大數(shù)據(jù)應(yīng)用和數(shù)據(jù)中臺的基礎(chǔ)。數(shù)倉系統(tǒng)一般采用下圖所示的分層結(jié)構(gòu)。

可以看到,數(shù)倉系統(tǒng)分成了4層:源數(shù)據(jù)層、數(shù)據(jù)倉庫層、數(shù)據(jù)集市層、數(shù)據(jù)應(yīng)用層。采用這樣的分層結(jié)構(gòu),和軟件設(shè)計的分層思想類似,都是為了將復(fù)雜問題簡單化,每一層職責(zé)單一,提高了維護性和復(fù)用性。每一層的具體作用如下:

  • ODS:源數(shù)據(jù)層,源表。

  • DW:數(shù)據(jù)倉庫層,包含維度表和事實表,通過對源表進行清洗后形成的數(shù)據(jù)寬表,比如:城市表、商品類目表、后端埋點明細表、前端埋點明細表、用戶寬表、商品寬表。

  • DM:數(shù)據(jù)集市層,對數(shù)據(jù)進行了輕粒度的匯總,由各業(yè)務(wù)方共建,比如:用戶群分析表、交易全鏈路表。

  • ADS:數(shù)據(jù)應(yīng)用層,根據(jù)實際應(yīng)用需求生成的各種數(shù)據(jù)表。

另外,各層的數(shù)據(jù)表都會采用統(tǒng)一的命名規(guī)則進行規(guī)范化管理,表名中會攜帶分層、主題域、業(yè)務(wù)過程以及分區(qū)信息。比如,對于交易域下的一張曝光表,命名可以是這樣:


總結(jié)

上文對大數(shù)據(jù)的歷史、核心概念、通用架構(gòu)、以及技術(shù)體系進行了系統(tǒng)性總結(jié)。如果大家想深入學(xué)習(xí)大數(shù)據(jù)技術(shù),建議參考這篇文章,同時結(jié)合下面的學(xué)習(xí)指南展開。



大數(shù)據(jù)基礎(chǔ)知識,還不了解大數(shù)據(jù)就真的OUT了的評論 (共 條)

分享到微博請遵守國家法律
巫溪县| 固始县| 衡南县| 阿城市| 方山县| 霸州市| 黄陵县| 蓬莱市| 南靖县| 丰原市| 阜新市| 长白| 汝南县| 百色市| 邢台县| 柘荣县| 图们市| 察哈| 正阳县| 石家庄市| 会泽县| 达州市| 五常市| 彭泽县| 石阡县| 龙陵县| 湘西| 公安县| 武冈市| 诏安县| 鹿邑县| 鄯善县| 威海市| 繁峙县| 清镇市| 贵州省| 肥西县| 宜昌市| 贵德县| 沽源县| 明光市|