2024大數(shù)據(jù)技術(shù)交流_第1頁
2024大數(shù)據(jù)技術(shù)交流_第2頁
2024大數(shù)據(jù)技術(shù)交流_第3頁
2024大數(shù)據(jù)技術(shù)交流_第4頁
2024大數(shù)據(jù)技術(shù)交流_第5頁
已閱讀5頁,還剩73頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

大數(shù)據(jù)技術(shù)交流目錄1.大數(shù)據(jù)技術(shù)介紹2.Hadoop(HDFS,MapReduce)介紹3.Hadoop的最新發(fā)展7.各技術(shù)適用的場(chǎng)合8.討論什么是大數(shù)據(jù)?大數(shù)據(jù)指的是海量無法通過傳統(tǒng)方式管理的數(shù)據(jù)。BigData作為一個(gè)專有名詞成為熱點(diǎn),主要應(yīng)歸功于在的移動(dòng)設(shè)備、RFID、無線傳感器每分每秒都在產(chǎn)生數(shù)據(jù),數(shù)以億計(jì)用戶的互聯(lián)網(wǎng)服務(wù)時(shí)時(shí)刻刻在產(chǎn)生巨量的交互……求,傳統(tǒng)的常規(guī)技術(shù)手段根本無法應(yīng)付。體量Volume多樣性Variety價(jià)值密度Value非結(jié)構(gòu)化數(shù)據(jù)的超大規(guī)模和增長(zhǎng)總數(shù)據(jù)量的80~90%比結(jié)構(gòu)化數(shù)據(jù)增長(zhǎng)快體量Volume多樣性Variety價(jià)值密度Value非結(jié)構(gòu)化數(shù)據(jù)的超大規(guī)模和增長(zhǎng)總數(shù)據(jù)量的80~90%比結(jié)構(gòu)化數(shù)據(jù)增長(zhǎng)快10倍到50倍是傳統(tǒng)數(shù)據(jù)倉庫的10倍到50倍大數(shù)據(jù)的異構(gòu)和多樣性很多不同形式(文本、圖像、視頻、機(jī)器數(shù)據(jù)無模式或者模式不明顯不連貫的語法或句義大量的不相關(guān)信息對(duì)未來趨勢(shì)與模式的可預(yù)測(cè)分析深度復(fù)雜分析(機(jī)器學(xué)習(xí)、人工智能Vs傳統(tǒng)商務(wù)智能(咨詢、報(bào)告等)速度Velocity速度Velocity實(shí)時(shí)分析數(shù)據(jù)輸入、處理與丟棄立竿見影而非事后見效大數(shù)據(jù)技術(shù)分布式緩存、基于MPP的分布式數(shù)據(jù)庫、分布式文件系分布式緩存、基于MPP的分布式數(shù)據(jù)庫、分布式文件系統(tǒng)、各種NoSQL分布式存儲(chǔ)方案,內(nèi)存數(shù)據(jù)庫等。存儲(chǔ)流計(jì)算MapReduce,處理HIVE,pig,R,mahout等查詢統(tǒng)計(jì),數(shù)據(jù)挖掘技術(shù)應(yīng)用大數(shù)據(jù)的存儲(chǔ)采用了一批新技術(shù),主要包括分布式緩存、基于MPP的分布式數(shù)據(jù)庫、分布式文件系統(tǒng)、各種NoSQL儲(chǔ)方案等。分布式數(shù)據(jù)庫與傳統(tǒng)數(shù)據(jù)庫對(duì)比大規(guī)模并行處理MPP(MassivelyParallelProcessing)硬件Hadoop和大數(shù)據(jù)分析的存儲(chǔ)設(shè)備。這些供應(yīng)商包括EMCHadoop解決方案,例如GreenplumHDDataComputingAppliance。甲骨文正在考慮進(jìn)一步深化Exadata系列設(shè)備,提供計(jì)算能力以及高速存儲(chǔ)。最后一個(gè)存儲(chǔ)選擇是云形式的存儲(chǔ),Cloudera、微軟、Amazon和很多橫向可擴(kuò)展存儲(chǔ)開放性其他供應(yīng)商都在提供基于云的大數(shù)據(jù)解決方案,這些解決方案能夠提供處理能力、存儲(chǔ)和支持。橫向可擴(kuò)展存儲(chǔ)開放性所需的硬件和成本那么,我們又需要多少的硬件呢?估計(jì)Hadoop所需的硬件有點(diǎn)不一樣,這取決于你是在問哪家廠商。Cloudera的清單詳細(xì)地列出了Hadoop的典型從屬節(jié)點(diǎn)應(yīng)該有怎樣的硬件配置:中檔處理器4GB至32GB內(nèi)存式交換機(jī)專用的交換基礎(chǔ)設(shè)施,以避免Hadoop擁塞網(wǎng)絡(luò)每個(gè)機(jī)器4至12個(gè)驅(qū)動(dòng)器,非RAID配置方式Hadoop方案(例:intel) HPVertica的數(shù)據(jù)倉庫系統(tǒng)解決方案基于列存儲(chǔ)和MPP進(jìn)技術(shù)平均性能提高50x-1000x倍高可擴(kuò)展性(TBs~PBs)節(jié)省高至90%的存儲(chǔ)空間解決方案高性能運(yùn)行于電信級(jí)硬件快速和靈活部署ClouderaCDH4Apache基金會(huì)開發(fā)。用戶可以在不了解分布式底層細(xì)節(jié)的情況下,開發(fā)分布式程序。充分利用集群的威力高速運(yùn)算和存儲(chǔ)。實(shí)現(xiàn)了一個(gè)分布式文件系統(tǒng)(HadoopDistributedFileSystem),簡(jiǎn)稱HDFS。HDFS有著高容錯(cuò)性的特點(diǎn),并且設(shè)計(jì)用來部署在低廉的(low-cost)硬件上。而且它提供高傳輸率(highthroughput)來訪問應(yīng)用程序的數(shù)據(jù),適合那些有著超大數(shù)據(jù)集(largedataset)的應(yīng)用程序。子項(xiàng)目作用ZooKeeper為分布式提供高一致性服務(wù)Avro序列化,提高分布式傳輸效率HBase分布式數(shù)據(jù)庫Hive提供類似oracle的數(shù)據(jù)添加,查詢,修改,刪除方法。Mahout提供一些可擴(kuò)展的機(jī)器學(xué)習(xí)領(lǐng)域經(jīng)典算法的實(shí)現(xiàn)Pig一種用于探索大型數(shù)據(jù)集的腳本語言目錄1.大數(shù)據(jù)技術(shù)介紹2.Hadoop(HDFS,MapReduce)介紹3.Hadoop的最新發(fā)展7.各技術(shù)適用的場(chǎng)合8.討論HadoopApache用戶可以在不了解分布式底層細(xì)節(jié)的情況下,開發(fā)分布式 Hadoop是項(xiàng)目的總稱,主要是由分布式存儲(chǔ)(HDFS)分布式計(jì)算(MapReduce) Hadoop程序目前只能運(yùn)行在Linux系統(tǒng)上,window需要安裝其他插件,安裝過程見《hadoop安裝說明.docx》。Hadoop的設(shè)計(jì)根本。經(jīng)濟(jì):框架可以運(yùn)行在任何普通的PC上。可靠:分布式文件系統(tǒng)的備份恢復(fù)機(jī)制以及MapReduce務(wù)監(jiān)控保證了分布式處理的可靠性。(元數(shù)據(jù)磁盤錯(cuò)誤,心跳測(cè)試,副本數(shù),快照(目前還沒實(shí)現(xiàn)))MapReduce結(jié)合LocalData處理的模式,為高效處理海量的信息作了基礎(chǔ)準(zhǔn)備。Hadoop生態(tài)系統(tǒng)HDFS:為以流式數(shù)據(jù)訪問模式存儲(chǔ)超大文件而設(shè)計(jì)的文件系統(tǒng)。超大文件指的是幾百M(fèi)B,幾百GB,幾百TB,甚至幾百PB流式數(shù)據(jù)訪問HDFS建立的思想是:一次寫入、多次讀取模式是最高效的。商用硬件hadoop不需要運(yùn)行在昂貴并且高可靠的硬件上。低延遲數(shù)據(jù)訪問HDFS是為了達(dá)到高數(shù)據(jù)吞吐量而優(yōu)化的,這是以延遲為代價(jià)的,對(duì)于低延遲訪問,可以用Hbase(hadoop的子項(xiàng)目)。大量的小文件多用戶寫入,任意修改Hdfs集群框架NameNode記錄著每個(gè)文件的元數(shù)據(jù)。每個(gè)文件在那個(gè)塊中,每個(gè)數(shù)據(jù)節(jié)點(diǎn)包含哪些塊。(不儲(chǔ)存原始文件)DataNode是文件的工作者,它們存儲(chǔ)文件并提供定位塊的服務(wù),并且定時(shí)向名稱節(jié)點(diǎn)發(fā)送它們的存儲(chǔ)塊的列表。(儲(chǔ)存原始文件)重要參數(shù)dfs.replication.min參數(shù)。最小為1,表示每個(gè)塊在HDFS中的副本個(gè)數(shù)。Hdfs集群框架文件寫入:Client向NameNode發(fā)起文件寫入的請(qǐng)求。 NameNode根據(jù)文件大小和文件塊配置情況,返回給Client它所管理部分DataNode的信息。 Client將文件劃分為多個(gè)Block,根據(jù)DataNode的地址信息,按順序?qū)懭氲矫恳粋€(gè)DataNode塊中。文件讀取:Client向NameNode發(fā)起文件讀取的請(qǐng)求。NameNode返回文件存儲(chǔ)的DataNode的信息。Client讀取文件信息。 Block的放置:默認(rèn)不配置。一個(gè)Block會(huì)有三份備份,一份放在NameNode指定的DataNode,另一份放在與指定DataNode非同一Rack上的DataNode,最后一份放在與指定DataNode同一Rack上的DataNode上。備份無非就是為了數(shù)據(jù)安全,考慮同一Rack的失敗情況以及不同Rack之間數(shù)據(jù)拷貝性能問題就采用這種配置方式。心跳檢測(cè)DataNode的健康狀況,如果發(fā)現(xiàn)問題就采取數(shù)據(jù)備份的方式來保證數(shù)據(jù)的安全性。數(shù)據(jù)復(fù)制(場(chǎng)景為DataNode失敗、需要平衡DataNode的存儲(chǔ)利用率和需要平衡DataNode數(shù)據(jù)交互壓力等情況):這里先說一下,使用HDFS的balancer命令,可以配置一個(gè)Threshold來平衡每一個(gè)DataNode磁盤利用率。例如設(shè)置了Threshold為10%,那么執(zhí)行balancer命令的時(shí)候,首先統(tǒng)計(jì)所有DataNode的磁盤利用率的均值,然后判斷如果某一個(gè)DataNode的磁盤利用率超過這個(gè)均值Threshold以上,那么將會(huì)把這個(gè)DataNode的block轉(zhuǎn)移到磁盤利用率低的DataNode,這對(duì)于新節(jié)點(diǎn)的加入來說十分有用。 Writable接口序列化:指的是將結(jié)構(gòu)化對(duì)象轉(zhuǎn)換為字節(jié)流以便網(wǎng)絡(luò)進(jìn)行傳輸或者寫入存儲(chǔ)的過程。反序列化:指的是將字節(jié)流轉(zhuǎn)為一系列結(jié)構(gòu)化對(duì)象的過程。(java定義的序列化和反序列化工具不夠緊湊,高效)在hadoop中,常規(guī)JAVA數(shù)據(jù)類型是不能表示Hdfs的數(shù)據(jù)類型的,例如hdfs中的字符串不是string類表示,而是Text類,這些數(shù)據(jù)類型都必須實(shí)現(xiàn)一個(gè)writableWritable是Hadoop的核心(MapReduce程序使用他來序列化鍵/值對(duì)):voidwrite(DataOutputout)throwsIOException;voidreadFields(DataInputin)throwsIOException;分別實(shí)現(xiàn)對(duì)數(shù)據(jù)的序列化和反序列化。 1.對(duì)Java中的int型進(jìn)行封裝那么就是hadoop中的IntWritable類在寫程序時(shí)可以把IntWritable可以看著是int現(xiàn)了WritableComparableWritableComparableWritable、parable接口的子接口。2.Writable類對(duì)所有的Java基本類型進(jìn)行封裝:如:boolean->BooleanWritable ; ByteByteWritable3.我們可以自已實(shí)現(xiàn)Writable類。核心:hadoop有自己一套的I/O機(jī)制。I/O類都必須實(shí)現(xiàn)Writable接口。MapReduceMap/Reduce是一個(gè)編程模型(programmingmodel),是一個(gè)用于處理和生成大規(guī)模數(shù)據(jù)集(processingandgeneratinglargedatasets)的相關(guān)的實(shí)現(xiàn)。用戶定義一個(gè)map函數(shù)來處理一個(gè)key/value對(duì)以生成一批中間的key/value對(duì),再定義一個(gè)reduce函數(shù)將所有這些中間的有著相同key的values合并起來。很多現(xiàn)實(shí)世界中的任務(wù)都可用這個(gè)模型來表達(dá)。MapReduce程序1:MapReduce程序客戶端JVM

3:copyJobrescouce

2:getnewjobIDJobClient4:submitjob6:retrieveJobClientInputsplits

7:returnstask

5:initializejobJobTrackerJobtracker節(jié)點(diǎn)JobTrackerHDFS

8:retrievejobresources

子JVM10:run子JVM10:runMapTask或者ReduceTaskChildTaskTracker客戶端: 提交MapReduce作業(yè),即一個(gè)job。jobTracker:協(xié)調(diào)作業(yè)的運(yùn)行。taskTracker:作業(yè)劃分后的任務(wù)(一個(gè)job對(duì)應(yīng)多個(gè)task,一個(gè)task對(duì)應(yīng)一個(gè)或者多個(gè)MapReduce線程)。

Tasktracker節(jié)點(diǎn)1根據(jù)輸入數(shù)據(jù)的大小和參數(shù)的設(shè)置把數(shù)據(jù)分成splits,每個(gè)split對(duì)于一個(gè)map線程。2Split中的數(shù)據(jù)作為MapMap的輸出一定在Map端。3Map的輸出到Reduce的輸入的過程(shuffle過程):第一階段:在map端完成內(nèi)存->排序->寫入磁盤->復(fù)制分區(qū)->排序->分區(qū)合并->合并后分區(qū)->復(fù)制第二階段:在reduce端完成映射到reduce端分區(qū)->合并->排序4Reduce的輸入到Reduce的輸出最后排好序的key/value作為Reduce的輸入,輸出不一定是在reduce端。 MapReduceHadoop程序的體現(xiàn)??蚣軜O其簡(jiǎn)單:首先是對(duì)MapReduce程序運(yùn)行前的參數(shù)配置,然后編寫Map類(實(shí)現(xiàn)Map方法),最后是Reduce類(實(shí)現(xiàn)Reduce方法)。MapReduce程序的每個(gè)細(xì)節(jié)都與設(shè)置的參數(shù)有很大的關(guān)系,參數(shù)設(shè)置的好,程序的效率肯定得到提高。Map方法:Map(k1,v1)->list(k2,v2),并行應(yīng)用于每一個(gè)輸入的數(shù)據(jù)集,每一次調(diào)用都會(huì)產(chǎn)生一個(gè)(k2,v2)Reduce方法:Reduce(k2,list(v2))list(k3,v3)。收集map端輸出隊(duì)列l(wèi)ist(k2,v2)中有相同key的數(shù)據(jù)對(duì),把它們聚集list(k3,v3)。Hadoop應(yīng)用案例誰在用hadoopYahooFacebookAmazonEbayHuluIBMLinkedInLast.fmAlibabaBaidu中國(guó)移動(dòng)研究院……目錄2.Hadoop(HDFS,MapReduce)介紹3.Hadoop的最新發(fā)展7.各技術(shù)適用的場(chǎng)合8.討論Hadoop已經(jīng)過時(shí)了嗎?Google后Hadoop時(shí)代的新“三駕馬車”——Caffeine、Pregel、Dremel在2010年,Google搜索引擎發(fā)生了重大變革。Google“Caffeine”(bigtable)。Pregel主要繪制大量網(wǎng)上信息之間關(guān)系的“圖形數(shù)據(jù)庫”DremelGoogle提交的文件顯示你可以在幾秒的時(shí)間處理PB級(jí)的數(shù)據(jù)查詢。DremelDremel做到了“不可能完成的任務(wù)”,Dremel量的數(shù)據(jù)分析于對(duì)數(shù)據(jù)的深入挖掘進(jìn)行有機(jī)的結(jié)合。Dremel所處理的數(shù)據(jù)規(guī)模的速度實(shí)在令人印象深刻,你可以舒適的探索數(shù)據(jù)。在Dremel出現(xiàn)之前還沒有類似的系統(tǒng)可以做的像Dremel這樣出色。Drill項(xiàng)目Cloudera公司的兩個(gè)新項(xiàng)目:Impala和Trevni,將有助在2013年實(shí)現(xiàn)Hadoop實(shí)時(shí)查詢。 Impala是開版的Dremel(Dremel是Google大數(shù)據(jù)查詢解決方案),預(yù)計(jì)明年第一季度發(fā)布Impala的首個(gè)beta版。Impala允許你在Hadoop的HDFS、Hbase和Hive之上運(yùn)行實(shí)時(shí)查詢。不必遷移。更多Hadoop子項(xiàng)目HBaseHBase是ApacheHadoop中的一個(gè)子項(xiàng)目,Hbase依托于Hadoop的HDFS作為最基本存儲(chǔ)基礎(chǔ)單元,通過使用hadoop的DFS工具就可以看到這些這些數(shù)據(jù),還可以通過Map/Reduce的框架(算法)對(duì)HBase進(jìn)行操作。HBase不同于一般的關(guān)系數(shù)據(jù)庫,它是一個(gè)適合于非結(jié)構(gòu)化數(shù)據(jù)存儲(chǔ)的數(shù)據(jù)庫。所謂非結(jié)構(gòu)化數(shù)據(jù)存儲(chǔ)就是說HBase是基于列的而不是基于行的模式,這樣方面讀寫你的大數(shù)據(jù)內(nèi)容。HBase是介于MapEntry(key&value)和DBRow之間的一種數(shù)據(jù)存儲(chǔ)方式。就點(diǎn)有點(diǎn)類似于現(xiàn)在流行的Memcache,但不僅僅是簡(jiǎn)單的一個(gè)key對(duì)應(yīng)一個(gè)value,你很可能需要存儲(chǔ)很可能需要存儲(chǔ)多個(gè)屬性的數(shù)據(jù)結(jié)構(gòu),但沒有傳統(tǒng)數(shù)據(jù)庫表中那么多的關(guān)聯(lián)關(guān)系,這就是所謂的松散數(shù)據(jù)。HiveHiveHadoop上的數(shù)據(jù)倉庫基礎(chǔ)構(gòu)架。它提供了一系列的工具,可以用來進(jìn)行數(shù)據(jù)提取轉(zhuǎn)化加載(ETL),這是一種可以存儲(chǔ)、查詢和Hadoop中的大規(guī)模數(shù)據(jù)的機(jī)制。HiveSQLQL,SQL的用戶查詢數(shù)據(jù)。同時(shí),這個(gè)語MapReduce開發(fā)者的開發(fā)自定義mapperreducermapperreducer無法完成的復(fù)雜的分析工作。Hive和數(shù)據(jù)庫的比較查詢語言HQLSQL數(shù)據(jù)存儲(chǔ)位置HDFSRawDevice或者LocalFS數(shù)據(jù)格式用戶定義系統(tǒng)決定數(shù)據(jù)更新支持不支持索引無有執(zhí)行MapRedcueExecutor執(zhí)行延遲高低可擴(kuò)展性高低數(shù)據(jù)規(guī)模大小Mahout介紹ApacheMahout是ApacheSoftwareFoundation(ASF)旗下的一個(gè)開源項(xiàng)目,提供一些可擴(kuò)展的機(jī)器學(xué)習(xí)領(lǐng)域經(jīng)典算法的實(shí)現(xiàn),旨在幫助開發(fā)人員更加方便快捷地創(chuàng)建智能應(yīng)用Mahout的最近版本中還加入了對(duì)ApacheHadoop的支持,使這些算法可以更高效的運(yùn)行在云計(jì)算環(huán)境中YOURSITEHEREpigHDFS和MapReduce之上的數(shù)據(jù)流處理語言,它將數(shù)據(jù)流處理翻譯成多個(gè)map和reduce函數(shù),提供更高層次的抽象將程序員從具體的編程中解放出來。Pig不適合所有的數(shù)據(jù)處理任務(wù),和MapReduce一樣,它是為數(shù)據(jù)批處理而設(shè)計(jì)的。如果只想查詢大數(shù)據(jù)集中的一小部分?jǐn)?shù)據(jù),pig表現(xiàn)不會(huì)很好,因?yàn)樗獟呙枵麄€(gè)數(shù)據(jù)集或絕大部分。pigPig包括兩部分:用于描述數(shù)據(jù)流的語言,稱為PigLatin;和用于運(yùn)行PigLatin程序的執(zhí)行環(huán)境。PigLatin程序有一系列的operation和組成。每個(gè)操作或變換對(duì)輸入進(jìn)行數(shù)據(jù)處理,然后產(chǎn)生輸出結(jié)果。這些操作整體上描述了一個(gè)數(shù)據(jù)流。Pig內(nèi)部,這些變換操作被轉(zhuǎn)換成一系列的MapReduce作業(yè)。Pig和數(shù)據(jù)庫的比較:1)Pig是數(shù)據(jù)流編程語言,而SQL是一種描述型編程語言。Pig是相對(duì)于輸入的一步步操作,其中每一步都是對(duì)數(shù)據(jù)的一個(gè)簡(jiǎn)單的變換;而SQL語句是一個(gè)約束的集合,這些約束結(jié)合在一起定義了輸出。Pig更像RDBMS中的查詢規(guī)劃器。2)RDBMS把數(shù)據(jù)存儲(chǔ)在嚴(yán)格定義了模式的表內(nèi),但pig對(duì)數(shù)據(jù)的要求更寬松,可以在運(yùn)行時(shí)定義模式,而且是可選的。3)pig對(duì)復(fù)雜、嵌套數(shù)據(jù)結(jié)構(gòu)的支持更強(qiáng);4)Pig不支持事務(wù)和索引,也不支持隨機(jī)讀和幾十毫秒級(jí)別的查詢,它是針對(duì)數(shù)據(jù)批量處理的。5)Hive是介于Pig和RDBMS之間的系統(tǒng)。Hive以HDFS為存儲(chǔ),但是查詢語言是基于SQL的,而且Hive要求所有數(shù)據(jù)必須存儲(chǔ)在表中,表必須有模式,而模式由Hive管理。但Hive允許為預(yù)先存在HDFS中的數(shù)據(jù)關(guān)聯(lián)一個(gè)模式,因此數(shù)據(jù)加載步驟是可選的。Hadoop適用場(chǎng)景適合Hadoop的應(yīng)用場(chǎng)景:【1】日志分析【2】排序【3】搜索引擎,搜索關(guān)鍵字進(jìn)行內(nèi)容分類,創(chuàng)建索引【4】廣告計(jì)算,廣告優(yōu)化、分析,點(diǎn)擊流分析,鏈接分析【5】大規(guī)模圖像轉(zhuǎn)換【6】搜索引擎,創(chuàng)建索引【7】數(shù)據(jù)分析,數(shù)據(jù)統(tǒng)計(jì),過濾,查詢【8】機(jī)器學(xué)習(xí),數(shù)據(jù)挖掘,適合于海量數(shù)據(jù)文件的批處理任務(wù)。目錄1.大數(shù)據(jù)技術(shù)介紹2.Hadoop(HDFS,MapReduce)介紹3.Hadoop的最新發(fā)展7.各技術(shù)適用的場(chǎng)合8.討論MapReduceHold不住?對(duì)于實(shí)時(shí)性要求很高的應(yīng)用,盡管MapReduce作了實(shí)時(shí)性改進(jìn),但仍很難穩(wěn)定地滿足應(yīng)用需求。因?yàn)镠adoop為批處理作了高度優(yōu)化,MapReduce系統(tǒng)典型地通過調(diào)度批量任務(wù)來操作靜態(tài)數(shù)據(jù);而流式計(jì)算的典型范式之一是不確定數(shù)據(jù)速率的事件流流入系統(tǒng),系統(tǒng)處理能力必須與事件流量匹配,或者通過近似算法等方法優(yōu)雅降級(jí),通常稱為負(fù)載分流(load-shedding)。當(dāng)然,除了負(fù)載分流,流式計(jì)算的容錯(cuò)處理等機(jī)制也和批處理計(jì)算不盡相同。流計(jì)算(StreamComputing)Hadoop(大數(shù)據(jù)分析領(lǐng)域無可爭(zhēng)辯的王者)專注于批處理。這種模型對(duì)許多情形(比如為網(wǎng)頁建立索引)態(tài)的來源的實(shí)時(shí)信息。為了解決這個(gè)問題,就得借助NathanMarzStorm(Twitter中稱BackType)。StormTwitter1.4億條推文(tweet),那么就很容易看到此技術(shù)的巨大用途。Storm與HadoopStorm方式:Hadoop在本質(zhì)上是一個(gè)批處理系統(tǒng)。數(shù)據(jù)被引入Hadoop(HDFS并分發(fā)到各個(gè)節(jié)點(diǎn)進(jìn)行處HDFS用。Storm支持創(chuàng)建拓?fù)浣Y(jié)構(gòu)來轉(zhuǎn)換沒有終點(diǎn)的數(shù)據(jù)流。不Hadoop理到達(dá)的數(shù)據(jù)。Storm模型Storm實(shí)現(xiàn)了一種數(shù)據(jù)流模型,其中數(shù)據(jù)持續(xù)地流經(jīng)一個(gè)轉(zhuǎn)換實(shí)體網(wǎng)絡(luò)。一個(gè)數(shù)據(jù)流的抽象稱為一個(gè)流,這是一個(gè)無限的元組序列。元組就像一種使用一些附加的序列化代碼來表示標(biāo)準(zhǔn)數(shù)據(jù)類型(比如整數(shù)、浮點(diǎn)和字節(jié)數(shù)組)ID定義,這ID(sink的拓?fù)浣Y(jié)構(gòu)。流起源于噴嘴Storm拓?fù)浣Y(jié)構(gòu)中。Storm實(shí)現(xiàn)了一種數(shù)據(jù)流模型,其中數(shù)據(jù)持續(xù)地流經(jīng)一個(gè)轉(zhuǎn)換實(shí)體網(wǎng)絡(luò)一個(gè)數(shù)據(jù)流的抽象稱為一個(gè)流,這是一個(gè)無限的元組序列。元組就像一種使用一些附加的序列化代碼來表示標(biāo)準(zhǔn)數(shù)據(jù)類型(比如整數(shù)、浮點(diǎn)和字節(jié)數(shù)組)或用戶定義類型的結(jié)構(gòu)。流起源于噴嘴,噴嘴將數(shù)據(jù)從外部Storm拓?fù)浣Y(jié)構(gòu)中。接收器(體)稱為螺栓StormMapReduceMap功能(令牌化一個(gè)流的各個(gè)單詞)。“map”螺栓的流然后流入一個(gè)實(shí)現(xiàn)Reduce功能的螺栓中(以將單詞聚合到總數(shù)中)。流計(jì)算產(chǎn)品:Yahoo的S4:S4是一個(gè)通用的、分布式的、可擴(kuò)展的、分區(qū)容錯(cuò)的、可插拔的流式系統(tǒng),Yahoo!開發(fā)S4系統(tǒng),主要是為了解決:搜索廣告的展現(xiàn)、處理用戶的點(diǎn)擊反饋。Twitter的stormTwitter的storm:Storm是一個(gè)分布式的、容錯(cuò)的實(shí)時(shí)計(jì)算系統(tǒng)Storm用途:可用于處理消息和更新數(shù)據(jù)庫(流處理),在數(shù)據(jù)流上進(jìn)行持續(xù)查詢,并以流的形式返回結(jié)果到客戶端(持續(xù)計(jì)算),并行化一個(gè)類似實(shí)時(shí)查詢的熱點(diǎn)查詢(分布式的RPC)。3.streamBase Items\ProjectsYahoo!s4Items\ProjectsYahoo!s4TwitterStormApachelicense2.0EclipsePublicLicense1.0協(xié)議開發(fā)語言JavaClojure,Java,Clojure編寫了核心代碼結(jié)構(gòu)去中心化的對(duì)等結(jié)構(gòu)有中心節(jié)點(diǎn)nimbus,但非關(guān)鍵通信可插拔的通訊層,目前是基于UDP的實(shí)現(xiàn)基于facebook開源的thrift框架事件/Stream<K,A>序列,用戶可自定義事件類提供Tuple類,用戶不可自定義事件類,但是可以命名field和注冊(cè)序列化器處理單元ProcessingElements,內(nèi)置PE處理Bolt,沒有內(nèi)置任務(wù),提供IBasicBolt處理count,join和aggregate等常見任務(wù)自動(dòng)ack第三方交互提供API,ClientAdapter/Driver,第三方客戶端輸入或者輸出事件定義Spout用于產(chǎn)生Stream,沒有標(biāo)準(zhǔn)輸出API持久化提供PersistAPI規(guī)范,可根據(jù)頻率或者次數(shù)做持久化無特定API,用戶可自行選擇處理可靠處理無,可能會(huì)丟失事件提供對(duì)事件處理的可靠保證(可選)多語言支持暫時(shí)只支持Java多語言支持良好,本身支持Java,Clojure,其他非JVM語言通過thrift和進(jìn)程間通訊Failover部分支持,數(shù)據(jù)無法failover部分支持,數(shù)據(jù)同樣無法failoverLoadBalance不支持不支持并行處理取決于節(jié)點(diǎn)數(shù)目,不可調(diào)節(jié)可配置worker和task數(shù)目,storm會(huì)盡量將worker和task均勻分布動(dòng)態(tài)增刪節(jié)點(diǎn)不支持支持動(dòng)態(tài)部署不支持支持web管理不支持支持代碼成熟度半成品成熟活躍度低活躍編程編程+XML配置純編程目錄1.大數(shù)據(jù)技術(shù)介紹2.Hadoop(HDFS,MapReduce)介紹3.Hadoop的最新發(fā)展7.各技術(shù)適用的場(chǎng)合8.討論內(nèi)存數(shù)據(jù)庫:大數(shù)據(jù)時(shí)代數(shù)據(jù)管理新寵速度要快很多,一般都在10倍以上。內(nèi)存數(shù)據(jù)庫的最大特點(diǎn)是其“主拷貝”或“工作版本”與實(shí)時(shí)內(nèi)存數(shù)據(jù)庫的內(nèi)存拷貝打交道。主流內(nèi)存數(shù)據(jù)庫產(chǎn)品1TimesTen OracleTimesTen是Oracle從TimesTen公司收購的一個(gè)內(nèi)存優(yōu)化的關(guān)系數(shù)據(jù)庫,它為應(yīng)用程序提供了實(shí)時(shí)企業(yè)和行業(yè)(例如電信、資本市場(chǎng)和國(guó)防)響應(yīng)性和非常高的吞吐量。OracleTimesTen可作為高速緩存或嵌入式數(shù)據(jù)庫被部署在應(yīng)用程序?qū)又校肧QL接口對(duì)完全位于物理內(nèi)存中的數(shù)據(jù)存儲(chǔ)區(qū)進(jìn)行操作。SolidDB IBMSolidDB是一款數(shù)據(jù)管理平臺(tái),該平臺(tái)將基于及強(qiáng)大的數(shù)據(jù)復(fù)制功能緊密地融為一體。SolidDB集基理速度并在同一數(shù)據(jù)庫內(nèi)最有效地利用系統(tǒng)資源。SolidDB管理平臺(tái)的設(shè)計(jì)可以無縫融合到需要高速、靈盤上,使用非常靈活,而且具備完善的數(shù)據(jù)保護(hù)機(jī)制。主流內(nèi)存數(shù)據(jù)庫產(chǎn)品2 eXtremeDB實(shí)時(shí)數(shù)據(jù)庫是McObject公司的一款特別為實(shí)時(shí)與50K到130K的開銷,速度達(dá)到微秒級(jí)。eXtremeDB完全駐留在主內(nèi)存中,不使用文件系統(tǒng)(包括內(nèi)存盤)。eXtremeDB采用了新的磁盤融合技術(shù),將內(nèi)存拓展到磁盤,將磁盤當(dāng)做虛擬內(nèi)存來用,實(shí)時(shí)性能保持微秒級(jí)的同時(shí),數(shù)據(jù)管理量在32BIT下能達(dá)到20G。 Altibase是一個(gè)在事務(wù)優(yōu)先的環(huán)境中提供高性能和高可用性的軟件解決方案。它提供高性能、容錯(cuò)能力和事務(wù)管理能力,特別適合通信、網(wǎng)上銀行、證券交易、實(shí)時(shí)應(yīng)用和嵌入式系統(tǒng)領(lǐng)域。Altibase能夠最大限度地發(fā)揮數(shù)據(jù)庫服務(wù)系統(tǒng)的潛力,增強(qiáng)數(shù)據(jù)服務(wù)器的處理能力。Altibase支持客戶端/服務(wù)器架構(gòu)或嵌入式架構(gòu)。其中客戶端/服務(wù)器架構(gòu)非

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論