版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、YOUR SITE HERE,大數(shù)據(jù)技術(shù)交流,2013.02,YOUR SITE HERE,目錄,1.大數(shù)據(jù)技術(shù)介紹2.Hadoop(HDFS,MapReduce)介紹3.Hadoop的最新發(fā)展4.流計(jì)算技術(shù)5.內(nèi)存數(shù)據(jù)庫6.列式數(shù)據(jù)庫7.各技術(shù)適用的場(chǎng)合8.討論,YOUR SITE HERE,什么是大數(shù)據(jù)?,大數(shù)據(jù) 指的是海量無法通過傳統(tǒng)方式管理的數(shù)據(jù)。,Big Data作為一個(gè)專有名詞成為熱點(diǎn),主要應(yīng)歸功于近年來互聯(lián)網(wǎng)
2、、云計(jì)算、移動(dòng)和物聯(lián)網(wǎng)的迅猛發(fā)展。無所不在的移動(dòng)設(shè)備、RFID、無線傳感器每分每秒都在產(chǎn)生數(shù)據(jù),數(shù)以億計(jì)用戶的互聯(lián)網(wǎng)服務(wù)時(shí)時(shí)刻刻在產(chǎn)生巨量的交互……要處理的數(shù)據(jù)量實(shí)在是太大、增長(zhǎng)太快了,而業(yè)務(wù)需求和競(jìng)爭(zhēng)壓力對(duì)數(shù)據(jù)處理的實(shí)時(shí)性、有效性又提出了更高要求,傳統(tǒng)的常規(guī)技術(shù)手段根本無法應(yīng)付。,YOUR SITE HERE,大數(shù)據(jù)的4V特性,體量Volume,多樣性Variety,價(jià)值密度Value,速度Velocity,非結(jié)構(gòu)化數(shù)據(jù)的超大規(guī)模和增
3、長(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)告等),實(shí)時(shí)分析而非批量式分析數(shù)據(jù)輸入、處理與丟棄立竿見影而非事后見效,YOUR SITE HERE,大數(shù)據(jù)技術(shù),分布式緩存、基
4、于MPP的分布式數(shù)據(jù)庫、分布式文件系統(tǒng)、各種NoSQL分布式存儲(chǔ)方案,內(nèi)存數(shù)據(jù)庫等。,存儲(chǔ),處理,應(yīng)用,Map Reduce,流計(jì)算,HIVE,pig,R,mahout等查詢統(tǒng)計(jì),數(shù)據(jù)挖掘技術(shù),YOUR SITE HERE,大數(shù)據(jù)的存儲(chǔ),采用了一批新技術(shù),主要包括分布式緩存、基于MPP的分布式數(shù)據(jù)庫、分布式文件系統(tǒng)、各種NoSQL分布式存儲(chǔ)方案等。,YOUR SITE HERE,分布式數(shù)據(jù)庫與傳統(tǒng)數(shù)據(jù)庫對(duì)比,YOUR SITE H
5、ERE,大規(guī)模并行處理MPP (Massively Parallel Processing),YOUR SITE HERE,,YOUR SITE HERE,硬件,一些領(lǐng)先的存儲(chǔ)廠商都在建立專門針對(duì)Hadoop和大數(shù)據(jù)分析的存儲(chǔ)設(shè)備。這些供應(yīng)商包括EMC,目前提 供Hadoop解決方案,例如Greenplum HD Data Computing Appliance。甲骨文正在考慮進(jìn)一步深化Exadata系列設(shè)備,提供計(jì)算能力以及高速存儲(chǔ)
6、?! ∽詈笠粋€(gè)存儲(chǔ)選擇是云形式的存儲(chǔ),Cloudera、微軟、Amazon和很多其他供應(yīng)商都在提供基于云的大數(shù)據(jù)解決方案,這些解決方案能夠提供處理能力、存儲(chǔ)和支持。,橫向可擴(kuò)展存儲(chǔ),開放性,YOUR SITE HERE,所需的硬件和成本,那么,我們又需要多少的硬件呢? 估計(jì)Hadoop所需的硬件有點(diǎn)不一樣,這取決于你是在問哪家廠商。Cloudera的清單詳細(xì)地列出了Hadoop的典型從屬節(jié)點(diǎn)應(yīng)該有怎樣的硬件配置:?中檔處理
7、器?4GB至32 GB內(nèi)存?每個(gè)節(jié)點(diǎn)連接至千兆以太網(wǎng),并配備一只萬兆以太網(wǎng)架頂式交換機(jī)?專用的交換基礎(chǔ)設(shè)施,以避免Hadoop擁塞網(wǎng)絡(luò)?每個(gè)機(jī)器4至12個(gè)驅(qū)動(dòng)器,非RAID配置方式,YOUR SITE HERE,Hadoop方案(例:intel),YOUR SITE HERE,YOUR SITE HERE,YOUR SITE HERE,HP Vertica 的數(shù)據(jù)倉庫系統(tǒng)解決方案,基于列存儲(chǔ)和MPP等先進(jìn)技術(shù)平均性能提高50x
8、-1000x倍高可擴(kuò)展性(TBs ~ PBs)節(jié)省高至90%的存儲(chǔ)空間快速集成ETL/BI解決方案高性能運(yùn)行于電信級(jí)硬件快速和靈活部署,YOUR SITE HERE,,Cloudera CDH4,YOUR SITE HERE,Hadoop,一個(gè)分布式系統(tǒng)基礎(chǔ)架構(gòu),由Apache基金會(huì)開發(fā)。用戶可以在不了解分布式底層細(xì)節(jié)的情況下,開發(fā)分布式程序。充分利用集群的威力高速運(yùn)算和存儲(chǔ)。Hadoop實(shí)現(xiàn)了一個(gè)分布式文件系統(tǒng)(Hadoo
9、p Distributed File System),簡(jiǎn)稱HDFS。HDFS有著高容錯(cuò)性的特點(diǎn),并且設(shè)計(jì)用來部署在低廉的(low-cost)硬件上。而且它提供高傳輸率(high throughput)來訪問應(yīng)用程序的數(shù)據(jù),適合那些有著超大數(shù)據(jù)集(large data set)的應(yīng)用程序。,YOUR SITE HERE,Hadoop相關(guān)子項(xiàng)目,,YOUR SITE HERE,目 錄,1.大數(shù)據(jù)技術(shù)介紹2.Hadoop(HDFS,MapR
10、educe)介紹3.Hadoop的最新發(fā)展4.流計(jì)算技術(shù)5.內(nèi)存數(shù)據(jù)庫6.列式數(shù)據(jù)庫7.各技術(shù)適用的場(chǎng)合8.討論,YOUR SITE HERE,Hadoop簡(jiǎn)介,Hadoop 一個(gè)分布式系統(tǒng)基礎(chǔ)架構(gòu),由Apache基金會(huì)開發(fā)。用戶可以在不了解分布式底層細(xì)節(jié)的情況下,開發(fā)分布式程序。充分利用集群的威力高速運(yùn)算和存儲(chǔ) 。 Hadoop是項(xiàng)目的總稱,主要是由分布式存儲(chǔ)(HDFS)、分布式計(jì)算(MapReduce)組成 。
11、 Hadoop程序目前只能運(yùn)行在Linux系統(tǒng)上,window上運(yùn)行需要安裝其他插件,安裝過程見《hadoop安裝說明.docx》 。,YOUR SITE HERE,Hadoop優(yōu)點(diǎn),可擴(kuò)展:不論是存儲(chǔ)的可擴(kuò)展還是計(jì)算的可擴(kuò)展都是Hadoop的設(shè)計(jì)根本。經(jīng)濟(jì):框架可以運(yùn)行在任何普通的PC上??煽浚悍植际轿募到y(tǒng)的備份恢復(fù)機(jī)制以及MapReduce的任務(wù)監(jiān)控保證了分布式處理的可靠性。(元數(shù)據(jù)磁盤錯(cuò)誤,心跳測(cè)試,副本數(shù),快照(目前還沒實(shí)
12、現(xiàn)))高效:分布式文件系統(tǒng)的高效數(shù)據(jù)交互實(shí)現(xiàn)以及MapReduce結(jié)合Local Data處理的模式,為高效處理海量的信息作了基礎(chǔ)準(zhǔn)備。,YOUR SITE HERE,Hadoop生態(tài)系統(tǒng),YOUR SITE HERE,HDFS適應(yīng)條件,超大文件 指的是幾百M(fèi)B,幾百GB,幾百TB,甚至幾百PB流式數(shù)據(jù)訪問 HDFS建立的思想是:一次寫入、多次讀取模式是最高 效的。商用硬件 hadoo
13、p不需要運(yùn)行在昂貴并且高可靠的硬件上。,HDFS:為以流式數(shù)據(jù)訪問模式存儲(chǔ)超大文件而設(shè)計(jì)的文件系統(tǒng)。,YOUR SITE HERE,HDFS不適應(yīng)條件,低延遲數(shù)據(jù)訪問 HDFS是為了達(dá)到高數(shù)據(jù)吞吐量而優(yōu)化的,這是以延遲為代價(jià)的,對(duì)于低延遲訪問,可以用Hbase(hadoop的子項(xiàng)目)。大量的小文件多用戶寫入,任意修改,YOUR SITE HERE,Hdfs集群框架圖,YOUR SITE HERE,NameNode記錄著
14、每個(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集群框架,YOUR SITE HERE,Hdfs集群框架,文件寫入:Client向NameN
15、ode發(fā)起文件寫入的請(qǐng)求。 NameNode根據(jù)文件大小和文件塊配置情況,返回給Client它所管理部分DataNode的信息。 Client將文件劃分為多個(gè)Block,根據(jù)DataNode的地址信息,按順序?qū)懭氲矫恳粋€(gè)DataNode塊中。文件讀?。?Client向NameNode發(fā)起文件讀取的請(qǐng)求。 NameNode返回文件存儲(chǔ)的DataNode的信息。 Client讀取文件信息。,YOUR SITE HERE,H
16、dfs文件寫入圖,YOUR SITE HERE,Hdfs文件讀取圖,YOUR SITE HERE,HDFS的幾個(gè)設(shè)計(jì)特點(diǎn),Block的放置:默認(rèn)不配置。一個(gè)Block會(huì)有三份備份,一份放在NameNode指定的DataNode,另一份放在與指定DataNode非同一Rack上的DataNode,最后一份放在與指定DataNode同一Rack上的DataNode上。備份無非就是為了數(shù)據(jù)安全,考慮同一Rack的失敗情況以及不同Rack之間數(shù)
17、據(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í)候
18、,首先統(tǒng)計(jì)所有DataNode的磁盤利用率的均值,然后判斷如果某一個(gè)DataNode的磁盤利用率超過這個(gè)均值Threshold以上,那么將會(huì)把這個(gè)DataNode的block轉(zhuǎn)移到磁盤利用率低的DataNode,這對(duì)于新節(jié)點(diǎn)的加入來說十分有用。,YOUR SITE HERE,I/O操作,Writable接口序列化:指的是將結(jié)構(gòu)化對(duì)象轉(zhuǎn)換為字節(jié)流以便網(wǎng)絡(luò)進(jìn)行傳輸 或者寫入存儲(chǔ)的過程。 反序列化:指的是將
19、字節(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è)writable接口 。Writable是Hadoop的核心(MapReduce程序使用他來序列化 鍵/值對(duì)):
20、 void write(DataOutput out) throws IOException; void readFields(DataInput in) throws IOException; 分別實(shí)現(xiàn)對(duì)數(shù)據(jù)的序列化和反序列化。,YOUR SITE HERE,Writable接口的子類,YOUR SITE HERE,Writable接口的子類,1.對(duì)Java中的int型進(jìn)行封裝那么就是hadoop中的In
21、tWritable類在寫程序時(shí)可以把IntWritable可以看著是int 類型,它實(shí)現(xiàn)了WritableComparable接口。 WritableComparable又是 Writable、 java.lang.comparable接口的子接口。2.Writable類對(duì)所有的Java基本類型進(jìn)行封裝:如:boolean -> BooleanWritable ; Byte -> ByteWritab
22、le3.我們可以自已實(shí)現(xiàn)Writable接口,編寫更復(fù)雜的結(jié)構(gòu)的類。 核心:hadoop有自己一套的I/O機(jī)制。I/O類都必須實(shí)現(xiàn)Writable接口。,YOUR SITE HERE,Map Reduce,Map/Reduce是一個(gè)編程模型(programming model),是一個(gè)用于處理和生成大規(guī)模數(shù)據(jù)集(processing and generating large data sets)的相關(guān)的實(shí)現(xiàn)。用戶定義一個(gè)ma
23、p函數(shù)來處理一個(gè)key/value對(duì)以生成一批中間的key/value對(duì),再定義一個(gè)reduce函數(shù)將所有這些中間的有著相同key的values合并起來。很多現(xiàn)實(shí)世界中的任務(wù)都可用這個(gè)模型來表達(dá)。,YOUR SITE HERE,MapReduce程序,,1:run job,JobClient,客戶端JVM,JobTracker,TaskTracker,Child,MapTask或者ReduceTask,Jobtracker節(jié)點(diǎn),子J
24、VM,Tasktracker 節(jié)點(diǎn),HDFS,,,,,,,,,,,,,,,,,,2:get new job ID,,3:copy Jobrescouce,,4:submit job,,,,,5:initialize job,,6:retrieve Input splits,,7:returns task,,8:retrieve jobresources,,,10:run,9:launch,客戶端: 提交MapReduce
25、作業(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線程)。,MapReduce數(shù)據(jù)流MapReduce的工作原理,YOUR SITE HERE,MapReduce數(shù)據(jù)流,,YOUR SITE HE
26、RE,MapReduce數(shù)據(jù)流,1 根據(jù)輸入數(shù)據(jù)的大小和參數(shù)的設(shè)置把數(shù)據(jù)分成splits, 每個(gè)split對(duì)于一個(gè)map線程。2 Split中的數(shù)據(jù)作為Map的輸入, Map的輸出一定在Map端。3 Map的輸出到Reduce的輸入的過程(shuffle過程): 第一階段:在map端完成 內(nèi)存->排序->寫入磁盤->復(fù)制 分區(qū)->排序->分區(qū)合并->合并后分區(qū)->
27、;復(fù)制 第二階段:在reduce端完成 映射到reduce端分區(qū)->合并->排序4 Reduce的輸入到Reduce的輸出 最后排好序的key/value作為Reduce的輸入,輸出不一定 是在reduce端。,YOUR SITE HERE,MapReduce數(shù)據(jù)流,MapReduce是 Hadoop程序的體現(xiàn)??蚣軜O其簡(jiǎn)單:首先是對(duì)MapReduce程序運(yùn)行前的參數(shù)配置,然后編寫Map類
28、(實(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)的隊(duì)列 。Reduce方法:Reduce(k2,list(v2)) -> list(k3,v
29、3)。收集map端輸出隊(duì)列l(wèi)ist(k2,v2)中有相同key的數(shù)據(jù)對(duì),把它們聚集在一起,輸出時(shí)形成目的數(shù)據(jù) list(k3,v3)。,YOUR SITE HERE,Hadoop應(yīng)用案例,誰在用hadoopYahooFacebookAmazonEbayHuluIBMLinkedInLast.fmAlibabaBaidu中國(guó)移動(dòng)研究院……,YOUR SITE HERE,目錄,1.大數(shù)據(jù)技術(shù)介紹2.Ha
30、doop(HDFS,MapReduce)介紹3.Hadoop的最新發(fā)展4.流計(jì)算技術(shù)5.內(nèi)存數(shù)據(jù)庫6.列式數(shù)據(jù)庫7.各技術(shù)適用的場(chǎng)合8.討論,YOUR SITE HERE,Hadoop已經(jīng)過時(shí)了嗎?,Google后Hadoop時(shí)代的新“三駕馬車”——Caffeine、Pregel、Dremel 在2010年,Google搜索引擎發(fā)生了重大變革。Google將其搜索遷移到新的軟件平臺(tái),他們稱之為“Caffeine”(bigt
31、able)。Pregel主要繪制大量網(wǎng)上信息之間關(guān)系的“圖形數(shù)據(jù)庫” Dremel可以在極快的速度處理網(wǎng)絡(luò)規(guī)模的海量數(shù)據(jù)。據(jù)Google提交的文件顯示你可以在幾秒的時(shí)間處理PB級(jí)的數(shù)據(jù)查詢。,YOUR SITE HERE,Dremel做到了“不可能完成的任務(wù)”,Dremel設(shè)法將海量的數(shù)據(jù)分析于對(duì)數(shù)據(jù)的深入挖掘進(jìn)行有機(jī)的結(jié)合。Dremel所處理的數(shù)據(jù)規(guī)模的速度實(shí)在令人印象深刻,你可以舒適的探索數(shù)據(jù)。在Dremel出現(xiàn)之前還沒有類似的
32、系統(tǒng)可以做的像Dremel這樣出色。,Dremel,YOUR SITE HERE,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、 Hbas
33、e 和 Hive 之上運(yùn)行實(shí)時(shí)查詢。不必遷移。,YOUR SITE HERE,更多Hadoop子項(xiàng)目,YOUR SITE HERE,HBase,HBase是Apache Hadoop中的一個(gè)子項(xiàng)目,Hbase依托于Hadoop的HDFS作為最基本存儲(chǔ)基礎(chǔ)單元,通過使用hadoop的DFS工具就可以看到這些這些數(shù)據(jù)存儲(chǔ)文件夾的結(jié)構(gòu),還可以通過Map/Reduce的框架(算法)對(duì)HBase進(jìn)行操作。,HBase不同于一般的關(guān)系數(shù)據(jù)庫,它是一
34、個(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ù)。,YOUR S
35、ITE HERE,Hive,Hive 是建立在 Hadoop 上的數(shù)據(jù)倉庫基礎(chǔ)構(gòu)架。它提供了一系列的工具,可以用來進(jìn)行數(shù)據(jù)提取轉(zhuǎn)化加載(ETL),這是一種可以存儲(chǔ)、查詢和分析存儲(chǔ)在 Hadoop 中的大規(guī)模數(shù)據(jù)的機(jī)制。Hive 定義了簡(jiǎn)單的類 SQL 查詢語言,稱為 QL,它允許熟悉 SQL 的用戶查詢數(shù)據(jù)。同時(shí),這個(gè)語言也允許熟悉 MapReduce 開發(fā)者的開發(fā)自定義的 mapper 和 reducer 來處理內(nèi)建的 mapper
36、和 reducer 無法完成的復(fù)雜的分析工作。,YOUR SITE HERE,,YOUR SITE HERE,Hive 和數(shù)據(jù)庫的比較,YOUR SITE HERE,Mahout介紹,Apache Mahout 是 ApacheSoftware Foundation (ASF) 旗下的一個(gè)開源項(xiàng)目,提供一些可擴(kuò)展的機(jī)器學(xué)習(xí)領(lǐng)域經(jīng)典算法的實(shí)現(xiàn),旨在幫助開發(fā)人員更加方便快捷地創(chuàng)建智能應(yīng)用程序,并且,在 Mahout 的最近版本中還加入了對(duì)A
37、pache Hadoop 的支持,使這些算法可以更高效的運(yùn)行在云計(jì)算環(huán)境中,YOUR SITE HERE,,YOUR SITE HERE,YOUR SITE HERE,pig,pig是在HDFS和MapReduce之上的數(shù)據(jù)流處理語言,它將數(shù)據(jù)流處理翻譯成多個(gè)map和reduce函數(shù),提供更高層次的抽象將程序員從具體的編程中解放出來。,Pig不適合所有的數(shù)據(jù)處理任務(wù),和MapReduce一樣,它是為數(shù)據(jù)批處理而設(shè)計(jì)的。如果只想查詢大數(shù)據(jù)
38、集中的一小部分?jǐn)?shù)據(jù),pig的表現(xiàn)不會(huì)很好,因?yàn)樗獟呙枵麄€(gè)數(shù)據(jù)集或絕大部分。,YOUR SITE HERE,pig,Pig包括兩部分:用于描述數(shù)據(jù)流的語言,稱為Pig Latin;和用于運(yùn)行Pig Latin程序的執(zhí)行環(huán)境。Pig Latin程序有一系列的operation和transformation組成。每個(gè)操作或變換對(duì)輸入進(jìn)行數(shù)據(jù)處理,然后產(chǎn)生輸出結(jié)果。這些操作整體上描述了一個(gè)數(shù)據(jù)流。Pig內(nèi)部,這些變換操作被轉(zhuǎn)換成一系列的M
39、apReduce作業(yè)。,YOUR SITE HERE,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)
40、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ù)加載步驟是可選的。,YOUR SITE HERE,Hado
41、op適用場(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ù)。 不適合實(shí)時(shí)性
42、要求高的場(chǎng)景,不適合用戶操作,修改數(shù)據(jù)頻繁的場(chǎng)景。,YOUR SITE HERE,目錄,1.大數(shù)據(jù)技術(shù)介紹2.Hadoop(HDFS,MapReduce)介紹3.Hadoop的最新發(fā)展4.流計(jì)算技術(shù)5.內(nèi)存數(shù)據(jù)庫6.列式數(shù)據(jù)庫7.各技術(shù)適用的場(chǎng)合8.討論,YOUR SITE HERE,MapReduce Hold不住?,對(duì)于實(shí)時(shí)性要求很高的應(yīng)用,盡管MapReduce作了實(shí)時(shí)性改進(jìn),但仍很難穩(wěn)定地滿足應(yīng)用需求。因?yàn)镠ad
43、oop為批處理作了高度優(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ì)算不盡相同。,YOUR SITE HERE,流計(jì)算(Stream Computing),Hadoop(大數(shù)據(jù)分析領(lǐng)域無可爭(zhēng)辯的
44、王者)專注于批處理。這種模型對(duì)許多情形(比如為網(wǎng)頁建立索引)已經(jīng)足夠,但還存在其他一些使用模型,它們需要來自高度動(dòng)態(tài)的來源的實(shí)時(shí)信息。為了解決這個(gè)問題,就得借助 Nathan Marz 推出的 Storm(現(xiàn)在在 Twitter 中稱為 BackType)。Storm 不處理靜態(tài)數(shù)據(jù),但它處理預(yù)計(jì)會(huì)連續(xù)的流數(shù)據(jù)。考慮到 Twitter 用戶每天生成 1.4 億條推文 (tweet),那么就很容易看到此技術(shù)的巨大用途。,YOUR SIT
45、E HERE,,YOUR SITE HERE,Storm 與Hadoop,Storm 與其他大數(shù)據(jù)解決方案的不同之處在于它的處理方式:Hadoop 在本質(zhì)上是一個(gè)批處理系統(tǒng)。數(shù)據(jù)被引入 Hadoop 文件系統(tǒng) (HDFS) 并分發(fā)到各個(gè)節(jié)點(diǎn)進(jìn)行處理。當(dāng)處理完成時(shí),結(jié)果數(shù)據(jù)返回到 HDFS 供始發(fā)者使用。Storm 支持創(chuàng)建拓?fù)浣Y(jié)構(gòu)來轉(zhuǎn)換沒有終點(diǎn)的數(shù)據(jù)流。不同于 Hadoop 作業(yè),這些轉(zhuǎn)換從不停止,它們會(huì)持續(xù)處理到達(dá)的數(shù)據(jù)。,YOU
46、R SITE HERE,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ù)組)或用戶定義類型的結(jié)構(gòu)。每個(gè)流由一個(gè)惟一 ID 定義,這個(gè) ID 可用于構(gòu)建數(shù)據(jù)源和接收器 (sink) 的拓?fù)浣Y(jié)構(gòu)。流起源于噴嘴,噴嘴將數(shù)據(jù)從外部來源流入 Storm 拓?fù)浣Y(jié)構(gòu)中。,YOUR S
47、ITE HERE,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)中。接收器(或提供轉(zhuǎn)換的實(shí)體)稱為螺栓,,YOUR SITE HERE,使用 Storm 為詞頻輕松地實(shí)現(xiàn) MapReduce 功能。如圖
48、中所示,噴嘴生成文本數(shù)據(jù)流,螺栓實(shí)現(xiàn) Map 功能(令牌化一個(gè)流的各個(gè)單詞)。來自 “map” 螺栓的流然后流入一個(gè)實(shí)現(xiàn) Reduce 功能的螺栓中(以將單詞聚合到總數(shù)中)。,YOUR SITE HERE,流計(jì)算產(chǎn)品:,1.Yahoo的S4: S4是一個(gè)通用的、分布式的、可擴(kuò)展的、分區(qū)容錯(cuò)的、可插拔的流式系統(tǒng),Yahoo!開發(fā)S4系統(tǒng),主要是為了解決:搜索廣告的展現(xiàn)、處理用戶的點(diǎn)擊反饋。 2. Twitter的storm
49、 Twitter的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,YOUR SITE HERE,,YOUR SITE HERE,,目錄,1.大數(shù)據(jù)技術(shù)介紹2.Hadoop(HDFS,MapReduce)介紹3.Hadoop的
50、最新發(fā)展4.流計(jì)算技術(shù)5.內(nèi)存數(shù)據(jù)庫6.列式數(shù)據(jù)庫7.各技術(shù)適用的場(chǎng)合8.討論,YOUR SITE HERE,內(nèi)存數(shù)據(jù)庫:大數(shù)據(jù)時(shí)代數(shù)據(jù)管理新寵,內(nèi)存數(shù)據(jù)庫,顧名思義就是將數(shù)據(jù)放在內(nèi)存中直接操作的數(shù)據(jù)庫。相對(duì)于磁盤,內(nèi)存的數(shù)據(jù)讀寫速度要高出幾個(gè)數(shù)量級(jí),將數(shù)據(jù)保存在內(nèi)存中相比從磁盤上訪問能夠極大地提高應(yīng)用的性能。同時(shí),內(nèi)存數(shù)據(jù)庫拋棄了磁盤數(shù)據(jù)管理的傳統(tǒng)方式,基于全部數(shù)據(jù)都在內(nèi)存中重新設(shè)計(jì)了體系結(jié)構(gòu),并且在數(shù)據(jù)緩存、快速算法、并行
51、操作方面也進(jìn)行了相應(yīng)的改進(jìn),所以數(shù)據(jù)處理速度比傳統(tǒng)數(shù)據(jù)庫的數(shù)據(jù)處理速度要快很多,一般都在10倍以上。內(nèi)存數(shù)據(jù)庫的最大特點(diǎn)是其“主拷貝”或“工作版本”常駐內(nèi)存,即活動(dòng)事務(wù)只與實(shí)時(shí)內(nèi)存數(shù)據(jù)庫的內(nèi)存拷貝打交道。,YOUR SITE HERE,主流內(nèi)存數(shù)據(jù)庫產(chǎn)品1,·Oracle TimesTen Oracle TimesTen是Oracle從TimesTen公司收購的一個(gè)內(nèi)存優(yōu)化的關(guān)系數(shù)據(jù)庫,它為應(yīng)用程序提供了實(shí)時(shí)企業(yè)和行業(yè)(例
52、如電信、資本市場(chǎng)和國(guó)防)所需的即時(shí)響應(yīng)性和非常高的吞吐量。Oracle TimesTen可作為高速緩存或嵌入式數(shù)據(jù)庫被部署在應(yīng)用程序?qū)又?,它利用?biāo)準(zhǔn)的 SQL 接口對(duì)完全位于物理內(nèi)存中的數(shù)據(jù)存儲(chǔ)區(qū)進(jìn)行操作。 ·IBM SolidDB IBM SolidDB是一款數(shù)據(jù)管理平臺(tái),該平臺(tái)將基于內(nèi)存和磁盤的全事務(wù)處理數(shù)據(jù)庫引擎、載體級(jí)高,可用性及強(qiáng)大的數(shù)據(jù)復(fù)制功能緊密地融為一體。SolidDB集基于內(nèi)存和磁盤的多線程數(shù)據(jù)庫引擎
53、于一身,以提高事務(wù)處理速度并在同一數(shù)據(jù)庫內(nèi)最有效地利用系統(tǒng)資源。SolidDB管理平臺(tái)的設(shè)計(jì)可以無縫融合到需要高速、靈活以及需要不間斷訪問的數(shù)據(jù)管理技術(shù)解決方案中。用戶既可以把表建在內(nèi)存內(nèi),也可以象普通數(shù)據(jù)庫一樣建在磁盤上,使用非常靈活,而且具備完善的數(shù)據(jù)保護(hù)機(jī)制。,YOUR SITE HERE,主流內(nèi)存數(shù)據(jù)庫產(chǎn)品2,·eXtremeDB eXtremeDB實(shí)時(shí)數(shù)據(jù)庫是McObject公司的一款特別為實(shí)時(shí)與嵌入式系統(tǒng)數(shù)據(jù)管
54、理而設(shè)計(jì)的數(shù)據(jù)庫,只有 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?! ?#183;Altibase Altibase是一個(gè)在事務(wù)優(yōu)先的環(huán)境中提供高性能和高可用性的軟件解決方案。它提供高性能、容錯(cuò)能力和事務(wù)管理能力,特別
55、適合通信、網(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)非常適合一般的應(yīng)用。而嵌入式架構(gòu)將應(yīng)用程序嵌入到數(shù)據(jù)庫服務(wù)器,適合于有高時(shí)效要求的實(shí)時(shí)系統(tǒng)。,YOUR SITE HERE,主流內(nèi)存數(shù)據(jù)庫產(chǎn)品3,·SQLite SQLite是一款輕型的數(shù)據(jù)庫,它占用資源非常的低,
56、同時(shí)能夠跟很多程序語言相結(jié)合,但是支持的SQL語句不會(huì)遜色于其他開源數(shù)據(jù)庫。它的設(shè)計(jì)目標(biāo)是嵌入式的,而且目前已經(jīng)在很多嵌入式產(chǎn)品中使用了它,它占用資源非常的低,在嵌入式設(shè)備中,可能只需要幾百K的內(nèi)存就夠了。它能夠支持Windows/Linux/Unix等等主流的操作系統(tǒng),同時(shí)能夠跟很多程序語言相結(jié)合,比如Tcl、PHP、Java 等,還有ODBC接口,同樣比起Mysql、PostgreSQL這兩款開源世界著名的數(shù)據(jù)庫管理系統(tǒng)來講,它的處
57、理速度比他們都快?! ?#183;Redis Redis是一款開源的、高性能的鍵-值存儲(chǔ)(key-value store)。它常被稱作是一款數(shù)據(jù)結(jié)構(gòu)服務(wù)器(data structure server)。Redis的鍵值可以包括字符串(strings)、哈希(hashes)、列表(lists)、集合(sets)和 有序集合(sorted sets)等數(shù)據(jù)類型。 對(duì)于這些數(shù)據(jù)類型,你可以執(zhí)行原子操作。例如:對(duì)字符串進(jìn)行附加操作(app
58、end);遞增哈希中的值;向列表中增加元素;計(jì)算集合的交集、并集與差集等?! ?#183;SAP HANA SAP HANA 是一款面向數(shù)據(jù)源的、靈活、多用途的內(nèi)存應(yīng)用設(shè)備,整合了基于硬件優(yōu)化的SAP軟件模塊,通過SAP主要硬件合作伙伴提供給客戶。SAP HANA提供靈活、節(jié)約、高效、實(shí)時(shí)的方法管理海量數(shù)據(jù)。利用HANA,企業(yè)可以不必運(yùn)行多個(gè)數(shù)據(jù)倉庫、運(yùn)營(yíng)和分析系統(tǒng),從而削減相關(guān)的硬件和維護(hù)成本。SAPHANA將在內(nèi)存技術(shù)基礎(chǔ)上,
59、為新的創(chuàng)新應(yīng)用程序奠定技術(shù)基礎(chǔ),支持更高效的業(yè)務(wù)應(yīng)用程序,如:計(jì)劃、預(yù)測(cè)、運(yùn)營(yíng)績(jī)效和模擬解決方案。,YOUR SITE HERE,目錄,1.大數(shù)據(jù)技術(shù)介紹2.Hadoop(HDFS,MapReduce)介紹3.Hadoop的最新發(fā)展4.流計(jì)算技術(shù)5.內(nèi)存數(shù)據(jù)庫6.列式數(shù)據(jù)庫7.各技術(shù)適用的場(chǎng)合8.討論,YOUR SITE HERE,列式數(shù)據(jù)庫,列式數(shù)據(jù)庫是以列相關(guān)存儲(chǔ)架構(gòu)進(jìn)行數(shù)據(jù)存儲(chǔ)的數(shù)據(jù)庫,主要適合與批量數(shù)據(jù)處理和即席查
60、詢。相對(duì)應(yīng)的是行式數(shù)據(jù)庫,數(shù)據(jù)以行相關(guān)的存儲(chǔ)體系架構(gòu)進(jìn)行空間分配,主要適合與小批量的數(shù)據(jù)處理,常用于聯(lián)機(jī)事務(wù)型數(shù)據(jù)處理。,YOUR SITE HERE,列式數(shù)據(jù)庫的優(yōu)勢(shì),不讀取無效數(shù)據(jù):降低 I/O 開銷,同時(shí)提高每次 I/O 的效率,從而大大提高查詢性能。查詢語句只從磁盤上讀取所需要的列,其他列的數(shù)據(jù)是不需要讀取的。例如,有兩張表,每張表100GB 且有100 列,大多數(shù)查詢只關(guān)注幾個(gè)列,采用列存儲(chǔ),不需要像行存數(shù)據(jù)庫一樣,將整行數(shù)據(jù)
61、取出,只取出需要的列。磁盤 I/0 是行存儲(chǔ)的 1/10或更少,查詢響應(yīng)時(shí)間提高 10 倍以上。 高壓縮比:壓縮比可以達(dá)到 5 ~ 20 倍以上,數(shù)據(jù)占有空間降低到傳統(tǒng)數(shù)據(jù)庫的1/10 ,節(jié)省了存儲(chǔ)設(shè)備的開銷。,YOUR SITE HERE,列式數(shù)據(jù)庫,列式數(shù)據(jù)庫的代表包括:Sybase IQ,infobright、infiniDB、GBase 8a,ParAccel, Sand/DNA Analytics和 Vertica。,Y
62、OUR SITE HERE,目錄,1.大數(shù)據(jù)技術(shù)介紹2.Hadoop(HDFS,MapReduce)介紹3.Hadoop的最新發(fā)展4.流計(jì)算技術(shù)5.內(nèi)存數(shù)據(jù)庫6.列式數(shù)據(jù)庫7.各技術(shù)適用的場(chǎng)合8.討論,YOUR SITE HERE,各技術(shù)適用的場(chǎng)合,Hadoop :大數(shù)據(jù)的存儲(chǔ)與處理Hbase :高并發(fā)OLTP系統(tǒng)內(nèi)存數(shù)據(jù)庫:高并發(fā)OLTP系統(tǒng),以及快速查詢系統(tǒng)列式數(shù)據(jù)庫:OLAP系統(tǒng)流計(jì)算:海量數(shù)據(jù)實(shí)時(shí)處理,(如
溫馨提示
- 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. 眾賞文庫僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 無線技術(shù)交流
- 河南油田技術(shù)交流
- fpga技術(shù)交流群
- 地鐵afc技術(shù)交流
- it技術(shù)交流會(huì)
- 結(jié)構(gòu)技術(shù)交流材料
- 分時(shí)技術(shù)交流續(xù)篇之
- 中頻爐熔煉技術(shù)交流
- 電氣自控技術(shù)交流試題
- 2技術(shù)交流備用資料
- 華潤(rùn)桌面云技術(shù)交流
- 多層板層壓技術(shù)交流
- 宏杉科技存儲(chǔ)技術(shù)交流
- 如何做設(shè)備技術(shù)交流
- 水平井鉆井技術(shù)交流
- 水下采油樹技術(shù)交流培訓(xùn)
- 日光溫室大棚育苗技術(shù)交流
- 技術(shù)交流城域網(wǎng)規(guī)劃思路
- 農(nóng)殘檢測(cè)技術(shù)交流-天津農(nóng)藥
- 技術(shù)交流會(huì)領(lǐng)導(dǎo)致辭
評(píng)論
0/150
提交評(píng)論