“1+X”(高級)01-傳統(tǒng)大數(shù)據(jù)系統(tǒng)架構(gòu)_第1頁
“1+X”(高級)01-傳統(tǒng)大數(shù)據(jù)系統(tǒng)架構(gòu)_第2頁
“1+X”(高級)01-傳統(tǒng)大數(shù)據(jù)系統(tǒng)架構(gòu)_第3頁
“1+X”(高級)01-傳統(tǒng)大數(shù)據(jù)系統(tǒng)架構(gòu)_第4頁
“1+X”(高級)01-傳統(tǒng)大數(shù)據(jù)系統(tǒng)架構(gòu)_第5頁
已閱讀5頁,還剩47頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

傳統(tǒng)大數(shù)據(jù)系統(tǒng)架構(gòu)學(xué)習(xí)完本課程后,你將能夠:1.了解大數(shù)據(jù)技術(shù)架構(gòu)2.了解傳統(tǒng)大數(shù)據(jù)技術(shù)方案課程目標(biāo)課程目錄1.大數(shù)據(jù)技術(shù)架構(gòu)1.1數(shù)據(jù)收集層1.2數(shù)據(jù)儲存層1.3資源管理與服務(wù)協(xié)調(diào)層1.4分析計算引擎層1.5數(shù)據(jù)可視化層2.傳統(tǒng)大數(shù)據(jù)技術(shù)方案大數(shù)據(jù)技術(shù)架構(gòu)數(shù)據(jù)收集層SqoopDataXFlume數(shù)據(jù)儲存層HDFSHiveHbase資源管理與服務(wù)協(xié)調(diào)層Yarn分析計算引擎層SparkFlink數(shù)據(jù)可視化層Power

BITableauRedashRedisKafkaMesosMapReduceSupersetCanalStormSparkSreamingPrestoImpala數(shù)據(jù)收集層是否結(jié)構(gòu)化結(jié)構(gòu)化數(shù)據(jù)收集非結(jié)構(gòu)化數(shù)據(jù)收集是否實時離線數(shù)據(jù)收集實時數(shù)據(jù)收集1、Sqoop2、DataX3、Canal1、Sqoop2、DataX1、Canal2、Flume1、Flume數(shù)據(jù)收集層在大數(shù)據(jù)系統(tǒng)架構(gòu)的最底層,負(fù)責(zé)采集數(shù)據(jù),是整個大數(shù)據(jù)系統(tǒng)的數(shù)據(jù)接入端。接入數(shù)據(jù)可以分為結(jié)構(gòu)化數(shù)據(jù)接入和非結(jié)構(gòu)化數(shù)據(jù)接入,也可以分為離線數(shù)據(jù)接入和實時數(shù)據(jù)接入。數(shù)據(jù)收集層-SqoopSqoop-“SQL到Hadoop和Hadoop到SQL”Sqoop是一個用于在Hadoop和關(guān)系數(shù)據(jù)庫服務(wù)器之間傳輸數(shù)據(jù)的工具。它用于從關(guān)系數(shù)據(jù)庫(如MySQL,Oracle)導(dǎo)入數(shù)據(jù)到HadoopHDFS,并從Hadoop文件系統(tǒng)導(dǎo)出到關(guān)系數(shù)據(jù)庫。它由Apache軟件基金會提供。Sqoop導(dǎo)入:導(dǎo)入工具從RDBMS向HDFS導(dǎo)入單獨的表。Sqoop導(dǎo)出:導(dǎo)出工具將一組文件從HDFS導(dǎo)出回RDBMSSqoop主要應(yīng)用于傳統(tǒng)關(guān)系型數(shù)據(jù)庫和Hadoop生態(tài)之間的數(shù)據(jù)交換數(shù)據(jù)收集層-DataXDataX是阿里巴巴集團內(nèi)被廣泛使用的離線數(shù)據(jù)同步工具/平臺,實現(xiàn)包括MySQL、Oracle、SqlServer、Postgre、HDFS、Hive、ADS、HBase、TableStore(OTS)、MaxCompute(ODPS)、DRDS等各種異構(gòu)數(shù)據(jù)源之間高效的數(shù)據(jù)同步功能。將網(wǎng)狀同步鏈路變成星型數(shù)據(jù)鏈路可以對接各種數(shù)據(jù)源提供可靠的數(shù)據(jù)質(zhì)量監(jiān)控提供豐富的數(shù)據(jù)轉(zhuǎn)換功能擁有強勁的同步性能和健壯的容錯機制廣泛應(yīng)用于離線數(shù)據(jù)同步場景數(shù)據(jù)收集層-CanalCanal是阿里巴巴旗下的一款開源項目,純Java開發(fā)?;跀?shù)據(jù)庫增量日志解析,提供增量數(shù)據(jù)訂閱&消費,目前主要支持了MySQL(也支持mariaDB)。Canal模擬MysqlSlave的交互協(xié)議,偽裝自己為MysqlSlave,向MysqlMaster發(fā)送Dump協(xié)議,MysqlMaster收到Dump請求,開始推送BinaryLog給Slave也就是(Canal),Canal解析BinaryLog對象(原始為Byte流)部署方便快捷無告警和監(jiān)控,需要對接外部系統(tǒng)可用于數(shù)據(jù)庫鏡像可用于數(shù)據(jù)庫實時備份可用于實時數(shù)倉的數(shù)據(jù)同步目前主要支持MySQL數(shù)據(jù)庫數(shù)據(jù)收集層-FlumeFlume是一個分布式、可靠、和高可用的海量日志采集、聚合和傳輸?shù)南到y(tǒng)。支持在日志系統(tǒng)中定制各類數(shù)據(jù)發(fā)送方,用于收集數(shù)據(jù);同時,F(xiàn)lume提供對數(shù)據(jù)進(jìn)行簡單處理,并寫到各種數(shù)據(jù)接受方(比如文本、HDFS、Hbase等)的能力

。Flume可以將應(yīng)用產(chǎn)生的數(shù)據(jù)存儲到任何集中存儲器中,比如HDFS,HBase。Flume的管道是基于事務(wù),保證了數(shù)據(jù)在傳送和接收時的一致性。Flume主要應(yīng)用于Web日志采集、內(nèi)容推送,也可以用作數(shù)據(jù)同步工具,比如以利用插件把關(guān)系型數(shù)據(jù)實時增量的導(dǎo)入到Hdfs外部數(shù)據(jù)源。課程目錄1.大數(shù)據(jù)技術(shù)架構(gòu)1.1數(shù)據(jù)收集層1.2數(shù)據(jù)儲存層1.3資源管理與服務(wù)協(xié)調(diào)層1.4分析計算引擎層1.5數(shù)據(jù)可視化層2.傳統(tǒng)大數(shù)據(jù)技術(shù)方案數(shù)據(jù)存儲層四種存儲場景離線存儲在線存儲內(nèi)存存儲消息存儲1、Hbase1、HDFS2、Hive1、Redis1、Kafka數(shù)據(jù)存儲層在大數(shù)據(jù)系統(tǒng)架構(gòu)中負(fù)責(zé)存儲數(shù)據(jù),向上支撐不同的應(yīng)用場景,常見的場景有離線存儲、在線存儲、內(nèi)存存儲、消息存儲。數(shù)據(jù)存儲層-HDFSHDFS,是HadoopDistributedFileSystem的簡稱,是Hadoop抽象文件系統(tǒng)的一種實現(xiàn)。HDFS是易于擴展的分布式文件系統(tǒng),運行在大量普通廉價機器上,提供容錯機制為大量用戶提供性能不錯的文件存取服務(wù)。HDFS的文件分布在集群機器上,同時提供副本進(jìn)行容錯及可靠性保證。適合海量數(shù)據(jù)存儲適合大數(shù)據(jù)量批處理一次性寫入,多次讀取保證數(shù)據(jù)一致性通過多副本提高可靠性數(shù)據(jù)存儲層-HiveHive是基于Hadoop的一個數(shù)據(jù)倉庫工具,用來進(jìn)行數(shù)據(jù)提取、轉(zhuǎn)化、加載,這是一種可以存儲、查詢和分析存儲在Hadoop中的大規(guī)模數(shù)據(jù)的機制。Hive數(shù)據(jù)倉庫工具能將結(jié)構(gòu)化的數(shù)據(jù)文件映射為一張數(shù)據(jù)庫表,并提供SQL查詢功能,能將SQL語句轉(zhuǎn)變成MapReduce任務(wù)來執(zhí)行。操作接口采用類SQL語法,學(xué)習(xí)成本低避免了去寫MapReduce,開發(fā)效率高適用于海量結(jié)構(gòu)化數(shù)據(jù)離線分析WEB訪問日志分析(典型應(yīng)用)可用于構(gòu)建離線數(shù)據(jù)倉庫數(shù)據(jù)存儲層-HbaseHBase是一個高可靠、高性能、面向列、可伸縮的分布式數(shù)據(jù)庫,是谷歌BigTable的開源實現(xiàn),主要用來存儲非結(jié)構(gòu)化和半結(jié)構(gòu)化的松散數(shù)據(jù)。HBase的目標(biāo)是處理非常龐大的表,可以通過水平擴展的方式,利用廉價計算機集群處理由超過10億行數(shù)據(jù)和數(shù)百萬列元素組成的數(shù)據(jù)表。海量存儲,列式存儲,高并發(fā)極易擴展,可以橫向添加RegionSever的機器,進(jìn)行水平擴展可以支撐高并發(fā)KV查詢場景可以支撐實時或批量數(shù)據(jù)更新數(shù)據(jù)存儲層-Redis高性能、高可用豐富數(shù)據(jù)類型支持事務(wù)豐富客戶端、多種語言API可用作消息的發(fā)布、訂閱Redis是一個開源(BSD許可)的,內(nèi)存中的數(shù)據(jù)結(jié)構(gòu)存儲系統(tǒng),它可以用作數(shù)據(jù)庫、緩存和消息中間件。它支持多種類型的數(shù)據(jù)結(jié)構(gòu),如字符串(strings),散列(hashes),列表(lists),集合(sets),有序集合(sortedsets)等。數(shù)據(jù)存儲層-KafkaKafka是最初由Linkedin公司開發(fā),是一個分布式、支持分區(qū)的(partition)、多副本的(replica),基于zookeeper協(xié)調(diào)的分布式消息系統(tǒng),它的最大的特性就是可以實時的處理大量數(shù)據(jù)以滿足各種需求場景。高吞吐量分布式、易擴展支持在線、離線健壯、高并發(fā)廣泛應(yīng)用于日志采集、消息同步、實時處理等場景課程目錄1.大數(shù)據(jù)技術(shù)架構(gòu)1.1數(shù)據(jù)收集層1.2數(shù)據(jù)儲存層1.3資源管理與服務(wù)協(xié)調(diào)層1.4分析計算引擎層1.5數(shù)據(jù)可視化層2.傳統(tǒng)大數(shù)據(jù)技術(shù)方案資源管理與服務(wù)協(xié)調(diào)層兩個資源管理框架YarnMesos資源管理與服務(wù)協(xié)調(diào)層,可為上層應(yīng)用提供統(tǒng)一的資源管理和調(diào)度,它的引入為集群在利用率、資源統(tǒng)一管理和數(shù)據(jù)共享等方面帶來了巨大好處。目前主流的計算框架如:MR、Spark等,都可以運行在該層之上,目前主流的框架有Yarn和Mesos。資源管理與服務(wù)協(xié)調(diào)層-YarnApacheHadoopYARN是一種新的Hadoop資源管理器,它是一個通用資源管理系統(tǒng)和調(diào)度平臺,可為上層應(yīng)用提供統(tǒng)一的資源管理和調(diào)度,它的引入為集群在利用率、資源統(tǒng)一管理和數(shù)據(jù)共享等方面帶來了巨大好處。YARN相當(dāng)于一個分布式的操作系統(tǒng)平臺,而MapReduce等運算程序則相當(dāng)于運行于操作系統(tǒng)之上的應(yīng)用程序。YARN提供多類型資源調(diào)度,提供多種資源調(diào)度器,支持多租戶YARN支持內(nèi)存和CPU兩種資源隔離可以同時運行長應(yīng)用程序和短應(yīng)用程序可以支撐Hadoop生態(tài)的各種計算框架資源管理與服務(wù)協(xié)調(diào)層-MesosApacheMesos是一個集群管理器類似于YARN,提供了有效的、跨分布式應(yīng)用或框架的資源隔離和共享,可以運行Hadoop、MPI、Hypertable、Spark。更輕量,負(fù)責(zé)供給資源,不負(fù)責(zé)調(diào)度資源提高分布式集群的資源利用率,易擴展支持SparkonMesos,JenkinsonMesos可以作為docker的編排服務(wù)課程目錄1.大數(shù)據(jù)技術(shù)架構(gòu)1.1數(shù)據(jù)收集層1.2數(shù)據(jù)儲存層1.3資源管理與服務(wù)協(xié)調(diào)層1.4分析計算引擎層1.5數(shù)據(jù)可視化層2.傳統(tǒng)大數(shù)據(jù)技術(shù)方案分析計算引擎層三種計算場景在線離線流式即席查詢(ADHOC)1、Impala2、Presto離線批處理1、MapReduce2、Spark實時流處理1、SparkStreaming2、Flink3、Storm分析計算引擎層讀取存儲層的數(shù)據(jù),按需進(jìn)行數(shù)據(jù)運算,輸出計算結(jié)果。計算引擎按計算場景的不同可分為在線計算、離線計算和流式計算,向上支撐不同的需求場景。分析計算引擎層-在線計算-ImpalaImpala是用于處理存儲在Hadoop集群中的大量數(shù)據(jù)的MPP(大規(guī)模并行處理)SQL查詢引擎。它是一個用C++和Java編寫的開源軟件。與其他Hadoop的SQL引擎相比,它提供了高性能和低延遲。使用Impala,與其他SQL引擎(如Hive)相比,用戶可以使用SQL查詢以更快的方式與HDFS或HBase進(jìn)行通信?;趦?nèi)存進(jìn)行計算,能夠?qū)B級數(shù)據(jù)進(jìn)行交互式實時查詢、分析無需轉(zhuǎn)換為MR,直接讀取HDFS及Hbase數(shù)據(jù),從而大大降低了延遲兼容HiveSQL,常用于即席查詢場景分析計算引擎層-在線計算-PrestoPresto是一個facebook開源的分布式SQL查詢引擎,適用于交互式分析查詢,數(shù)據(jù)量支持GB到PB字節(jié)。presto完全基于內(nèi)存的并?計算,分布式SQL交互式查詢引擎,是一種MPP架構(gòu),多個節(jié)點管道式執(zhí)?,?持任意數(shù)據(jù)源(通過擴展式Connector組件),數(shù)據(jù)規(guī)模GB~PB級,查詢速度比hive快5-10倍。架構(gòu)清晰,是一個能夠獨立運行的系統(tǒng),不依賴于任何其他外部系統(tǒng)數(shù)據(jù)結(jié)構(gòu)簡單,列式存儲,邏輯行,大部分?jǐn)?shù)據(jù)都可以輕易的轉(zhuǎn)化成presto所需要的這種數(shù)據(jù)結(jié)構(gòu)可以對接多種數(shù)據(jù)源,做跨源數(shù)據(jù)計算Presto常被用于交互式查詢場景,快速返回結(jié)果分析計算引擎層-離線計算-MapReduceHadoopMapReduce是一個軟件框架,基于該框架能夠容易地編寫應(yīng)用程序,這些應(yīng)用程序能夠運行在由上千個商用機器組成的大集群上,并以一種可靠的,具有容錯能力的方式并行地處理上TB級別的海量數(shù)據(jù)集。MapReduce是采用一種分而治之的思想設(shè)計出來的分布式計算框架,MR由兩個階段組成:1、Map階段(把復(fù)雜的任務(wù)分解為若干個“簡單的任務(wù)”來處理)2、Reduce階段(對map階段的結(jié)果進(jìn)行匯總)適合海量數(shù)據(jù)批處理適合處理半結(jié)構(gòu)和無結(jié)構(gòu)化數(shù)據(jù)性能可隨機器數(shù)量線性擴展Web訪問日志分析(典型應(yīng)用)可應(yīng)用于機器學(xué)習(xí)(如:Mhout)分析計算引擎層-離線計算-SparkSpark是UCBerkeleyAMPlab(加州大學(xué)伯克利分校AMP實驗室)所開源的類HadoopMapReduce的通用并行框架,專門用于大數(shù)據(jù)量下的迭代式計算。Spark運算比Hadoop的MapReduce框架快,原因是Hadoop在一次MapReduce運算之后,會將數(shù)據(jù)的運算結(jié)果從內(nèi)存寫入到磁盤中,第二次Mapredue運算時在從磁盤中讀取數(shù)據(jù),所以其瓶頸在2次運算間的多余IO消耗.。Spark則是將數(shù)據(jù)一直緩存在內(nèi)存中,直到計算得到最后的結(jié)果,再將結(jié)果寫入到磁盤,所以多次運算的情況下,Spark是比較快的??焖伲哼\算速度快,比MR快10到100倍易用:Spark提供了支持多種語言的API,如Scala、Java、Python、R等,使得用戶開發(fā)Spark程序十分方便通用:Spark提供了一系列面向不同應(yīng)用需求的組件,主要有SparkSQL、SparkStreaming、MLlib、GraphX分析計算引擎層-流式計算-SparkStreamingSparkStreaming是Spark核心API的一個擴展,可以實現(xiàn)高吞吐量的,具備容錯機制的實時流數(shù)據(jù)處理。數(shù)據(jù)可以由多個源取得,例如:Kafka,F(xiàn)lume,Twitter,ZeroMQ,Kinesis或者TCP接口,同時可以使用由如map,reduce,join和window這樣的高層接口描述的復(fù)雜算法進(jìn)行處理。最終,處理過的數(shù)據(jù)可以被推送到文件系統(tǒng),數(shù)據(jù)庫和HDFS。編程語言豐富、編程簡單框架封裝層級高,封裝性好高吞吐、可容錯微批處理,時間延遲較大適用于對時延要求在分鐘級及以上的應(yīng)用場景分析計算引擎層-流式計算-StormApacheStorm是一個免費開源、分布式、高容錯的實時計算系統(tǒng)。Storm令持續(xù)不斷的流計算變得容易,彌補了Hadoop批處理所不能滿足的實時要求。Storm經(jīng)常用于在實時分析、在線機器學(xué)習(xí)、持續(xù)計算、分布式遠(yuǎn)程調(diào)用和ETL等領(lǐng)域??蚣芎唵魏撩爰壯舆t,實時性好編程成本高,Debug比較復(fù)雜可用于秒級延遲的應(yīng)用場景目前逐漸被Flink取代分析計算引擎層-流式計算-Flink低延遲、高吞吐,能保證數(shù)據(jù)一致性編程成本低,已支持SQL統(tǒng)一了流處理和批處理可用于秒級延遲的應(yīng)用場景目前正在被廣泛應(yīng)用于實時流處理場景ApacheFlink是一個框架和分布式處理引擎,用于對無界和有界數(shù)據(jù)流進(jìn)行有狀態(tài)計算。Flink設(shè)計為在所有常見的集群環(huán)境中運行,以內(nèi)存速度和任何規(guī)模執(zhí)行計算。課程目錄1.大數(shù)據(jù)技術(shù)架構(gòu)1.1數(shù)據(jù)收集層1.2數(shù)據(jù)儲存層1.3資源管理與服務(wù)協(xié)調(diào)層1.4分析計算引擎層1.5數(shù)據(jù)可視化層2.傳統(tǒng)大數(shù)據(jù)技術(shù)方案數(shù)據(jù)可視化層數(shù)據(jù)可視化:利用計算機圖形學(xué)和圖像處理技術(shù),將數(shù)據(jù)轉(zhuǎn)換為圖形或者圖像在屏幕上顯示出來進(jìn)行交互處理的理論方法和技術(shù)。數(shù)據(jù)可視化主要旨在借助于圖形化手段,清晰有效地傳達(dá)與溝通信息。數(shù)據(jù)可視化隨著平臺的拓展、應(yīng)用領(lǐng)域的增加,表現(xiàn)形式的不斷變化,從原始的BI統(tǒng)計圖表,到不斷增加的諸如實時動態(tài)效果、地理信息、用戶交互等等。數(shù)據(jù)可視化的概念邊界不斷擴大。數(shù)據(jù)可視化層是否開源商業(yè)軟件開源軟件1、Tableau2、Power

BI1、Redash2、Superset數(shù)據(jù)可視化層軟件按是否開源可以分為商業(yè)軟件和開源軟件,Tableau和Power

BI是目前主流的商業(yè)軟件,Redash和Superset是主流的開源軟件。數(shù)據(jù)可視化層-TableauTableauSoftware致力于幫助人們查看并理解數(shù)據(jù)。Tableau幫助任何人快速分析、可視化并分享信息。數(shù)萬家客戶通過使用Tableau在辦公室或隨時隨地快速獲得結(jié)果。數(shù)以萬計的用戶使用TableauPublic在博客與網(wǎng)站中分享數(shù)據(jù)。快速分析、簡單易用支持各種數(shù)據(jù)源,包括hadoop數(shù)據(jù)源炫酷智能儀表板自動更新、順時共享數(shù)據(jù)可視化層-Power

BIPower

BI是一種商業(yè)分析解決方案,可幫助對數(shù)據(jù)進(jìn)行可視化、在組織中共享見解、或?qū)⒁娊馇度霊?yīng)用或網(wǎng)站中。連接到數(shù)百個數(shù)據(jù)源,并使用實時儀表板和報表讓數(shù)據(jù)變得生動。高顏值-可交互、鉆取的儀表板高智商-問與答功能,讓你的報告會說話高效率–數(shù)據(jù)源可配置自動更新,實現(xiàn)實時的儀表板展現(xiàn)門檻低-可輕松處理各種量級的數(shù)據(jù)靈活-可拓展的可視化圖表數(shù)據(jù)可視化層-RedashRedash是一款開源的BI工具,提供了基于web的數(shù)據(jù)庫查詢和數(shù)據(jù)可視化功能。在數(shù)據(jù)運維人員的日常工作中,常會遇到需要將數(shù)據(jù)庫中的數(shù)據(jù)查詢并展示出來的問題,可能總是需要讓前端開發(fā)人員來做web頁面幫助完成這些需求。Redash提供了這么一種簡單便捷的方式將這些工作標(biāo)準(zhǔn)化:在web頁面上輸入sql語句,使用查詢返回的結(jié)果構(gòu)造數(shù)據(jù)可視化圖表,用戶可以將這些圖表結(jié)果拖動構(gòu)造成自己需要的數(shù)據(jù)面板,在很大程度上可以緩解數(shù)據(jù)運維人員對前端開發(fā)人員的需求。數(shù)據(jù)表或數(shù)據(jù)模型可以在不同的數(shù)據(jù)源可快速建立直觀的報表可設(shè)置權(quán)限,保護(hù)核心、敏感的數(shù)據(jù)和圖表可共享有價值的數(shù)據(jù)和圖表數(shù)據(jù)可視化層-SupersetSuperset是一款由Airbnb開源的“現(xiàn)代化的企業(yè)級BI(商業(yè)智能)Web應(yīng)用程序”,其通過創(chuàng)建和分享dashboard,為數(shù)據(jù)分析提供了輕量級的數(shù)據(jù)查詢和可視化方案。集成數(shù)據(jù)查詢功能,支持多種數(shù)據(jù)庫通過NVD3/D3預(yù)定義了多種可視化圖表,滿足大部分的數(shù)據(jù)展示功能提供細(xì)粒度安全模型,可以在功能層面和數(shù)據(jù)層面進(jìn)行訪問控制課程目錄1.大數(shù)據(jù)技術(shù)架構(gòu)2.傳統(tǒng)大數(shù)據(jù)技術(shù)方案2.1Google大數(shù)據(jù)方案2.2Hadoop開源大數(shù)據(jù)方案2.3

Spark開源大數(shù)據(jù)方案Google大數(shù)據(jù)方案Google提出了一整套基于分布式并行集群方式的基礎(chǔ)架構(gòu)技術(shù),該技術(shù)利用軟件的能力來處理集群中經(jīng)常發(fā)生的結(jié)點失效問題。Google使用的大數(shù)據(jù)平臺主要包括3個相互獨立又緊密結(jié)合在一起的系統(tǒng):Google文件系統(tǒng)(GoogleFileSystem,GFS),針對Google應(yīng)用程序的特點提出的MapReduce編程模式,以及大規(guī)模分布式數(shù)據(jù)庫BigTable。Google大數(shù)據(jù)方案GFSMapReduceBigTableGoogle大數(shù)據(jù)方案-GFSGFS(GoogleFileSystem)文件系統(tǒng),一個處理大規(guī)模數(shù)據(jù)密集應(yīng)用的,可伸縮的分布式文件系統(tǒng)。GFS構(gòu)建在廉價服務(wù)器之上,集群是一組計算機一起工作,提供數(shù)組存儲,數(shù)據(jù)處理和資源管理。它將服務(wù)器故障視為正?,F(xiàn)象,通過軟件的方式自動容錯,在保證系統(tǒng)可靠性和可用性的同時,大大降低系統(tǒng)的成本。GFS系統(tǒng)的節(jié)點可以分為三種角色1、GFSMaster(主控服務(wù)器)2、GFSChunkServer(CS,數(shù)據(jù)塊服務(wù)器)3、GFS客戶端Google大數(shù)據(jù)方案-MapReduceMapReduce是一個編程模型,也是一個處理和生成超大數(shù)據(jù)集的算法模型的相關(guān)實現(xiàn)。用戶首先創(chuàng)建一個Map函數(shù)處理一個基于key/valuepair的數(shù)據(jù)集合,輸出中間的基于key/valuepair的數(shù)據(jù)集合;然后再創(chuàng)建一個Reduce函數(shù)用來合并所有的具有相同中間key值的中間value值。MapReduce架構(gòu)的程序能夠在大量的普通配置的計算機上實現(xiàn)并行化處理。這個系統(tǒng)在運行時只關(guān)心:如何分割輸入數(shù)據(jù),在大量計算機組成的集群上的調(diào)度,集群中計算機的錯誤處理,管理集群中計算機之間必要的通信。Google大數(shù)據(jù)方案-BigTableBigTable是一個分布式存儲系統(tǒng),它可以支持?jǐn)U展到很大尺寸的數(shù)據(jù):PB級別的數(shù)據(jù),包含幾千個商業(yè)服務(wù)器。Google的許多項目都存儲在BigTable中,包括WEB索引、GoogleEarth和GoogleFinance。這些應(yīng)用對BigTable提出了截然不同的需求,無論是從數(shù)據(jù)量(從URL到網(wǎng)頁到衛(wèi)星圖像)而言,還是從延遲需求(從后端批量處理到實時數(shù)據(jù)服務(wù))而言。盡管這些不同的需求,BigTable已經(jīng)為所有的Google產(chǎn)品提供了一個靈活的、高性能的解決方案。Bigtable的數(shù)據(jù)模型是一個稀疏的、分布式的、持久化的多維有序Map。這張Map針對行鍵、列名和時間戳建立了索引;Map中的每個值都是一串未解釋的字節(jié)數(shù)組。具體模型如下:(row:string,column:string,time:int64)->string一個Bigtable集群存儲了大量的tables。每一個表都由一組tablets構(gòu)成,每一個tablet包含一個行范圍內(nèi)的數(shù)據(jù)。初始情況下,每個表僅包含一個tablet。課程目錄1.大數(shù)據(jù)技術(shù)架構(gòu)2.傳統(tǒng)大數(shù)據(jù)技術(shù)方案2.1Google大數(shù)據(jù)方案2.2Hadoop開源大數(shù)據(jù)方案2.3

Spark開源大數(shù)據(jù)方案Hadoop開源大數(shù)據(jù)方案一個離線批處理方案:數(shù)據(jù)通過Flume寫入HDFS,使用MapReduce對原始數(shù)據(jù)集進(jìn)行加工處理,并將處理結(jié)果寫入HDFS,通過Sqoop將結(jié)果數(shù)據(jù)導(dǎo)入Hbase,對外提供明細(xì)數(shù)據(jù)查詢服務(wù),如電信運營商的詳單查詢服務(wù)。日志數(shù)據(jù)HDFSMapReduce(ETL)HDFSFlumeHbase明細(xì)查詢服務(wù)數(shù)據(jù)源Sqoop原始數(shù)據(jù)集結(jié)果數(shù)據(jù)集明細(xì)數(shù)據(jù)存儲Hadoop開源大數(shù)據(jù)方案一個離線數(shù)倉方案:數(shù)據(jù)通過Sqoop抽取和Flume流式寫入進(jìn)入數(shù)倉,使用HDFS進(jìn)行數(shù)據(jù)存儲,使用HiveSQL進(jìn)行計算,使用Oozie進(jìn)行任務(wù)調(diào)度,計算結(jié)果寫入Mysql,對外提供數(shù)據(jù)訪問,支撐可視化數(shù)據(jù)應(yīng)用。日志數(shù)據(jù)ODSDWDDWSADSHIVE數(shù)據(jù)倉庫FlumeMysql數(shù)據(jù)集市RedashTableau數(shù)據(jù)應(yīng)用數(shù)據(jù)源Sqoop業(yè)務(wù)數(shù)據(jù)SqoopHadoop開源大數(shù)據(jù)方案一個實時ODS方案:業(yè)務(wù)數(shù)據(jù)的Binlog通過Canal寫入Kafka,使用HbaseConnect,將Kafka中的binlog數(shù)據(jù)實時更新到Hbase中,在Hbase中構(gòu)建了一個實時的ODS庫,通過Impala計算引擎,對外提供ODS庫的ADHOC查詢服務(wù)。ODSHBASEImpala計算引擎ADHOC數(shù)據(jù)應(yīng)用數(shù)據(jù)源業(yè)務(wù)數(shù)據(jù)CanalKAFKAHb

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論