畢業(yè)論文-基于Spark的分布式微博數(shù)據(jù)處理系統(tǒng)的設計與實現(xiàn)_第1頁
畢業(yè)論文-基于Spark的分布式微博數(shù)據(jù)處理系統(tǒng)的設計與實現(xiàn)_第2頁
畢業(yè)論文-基于Spark的分布式微博數(shù)據(jù)處理系統(tǒng)的設計與實現(xiàn)_第3頁
畢業(yè)論文-基于Spark的分布式微博數(shù)據(jù)處理系統(tǒng)的設計與實現(xiàn)_第4頁
畢業(yè)論文-基于Spark的分布式微博數(shù)據(jù)處理系統(tǒng)的設計與實現(xiàn)_第5頁
已閱讀5頁,還剩108頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

分類號_TP391北京航空航天大學畢業(yè)設計(論文)基于Spark的分布式微博數(shù)據(jù)處理系統(tǒng)的設計與實現(xiàn) 專業(yè)名稱計算機科學與技術 北京航空航天大學畢業(yè)設計(論文)第I頁超過一億條,如何從龐大的微博數(shù)據(jù)中發(fā)掘出有價值的信息成為時下研究的一個熱點。2)本文針對微博數(shù)據(jù)的特點,以HBase和ES為基礎設計了合理的微博數(shù)據(jù)存儲3)在本文的系統(tǒng)上,設計了兩個應用,微博分類和熱點檢測。首先,本文用SVM4)本文的系統(tǒng)有效地支持了其他的相關研究如微博情感分析,評論觀點分析,地北京航空航天大學畢業(yè)設計(論文)第Ⅱ頁Withthedevelopmentofinformationtechnology,especiallytherapiddevemobilecommunicationandsocialnetworks,Internethasbecomethemaintoolincreasinglydiverse,increasinglylargescaleofdata.AsanimportantpartmicroblogisdevelopingatanalarmindataofmicroblogbecomeahotspotinplatformisthefoundationtosupportbasisonthetechnologyofSparkhascompletesomeworklikereal-timemicroblogqeffectivedataclassificationandmicrobloghotspotsdetection,istoprovisupporttorelatedresearchaboutsocialThemaincontributionsofthispaperareasfollows:distributedcomputingframework,useHadoopandYarnacomputingplatform.Bytheselatestbigdataprocessingthatsupportssomeoftheanalysisandcomputingjobsbasedonmicroblogdata.2)AccordingtothecharacteristicsofthemicroblogdataandbasedonHElasticsearch,wedesignedareasonaunifiedqueryinterfathequery,thecalculation,andtheanalysisofmicroblo3)Basedonthesystemdesigned,weimplementedperformanceofdataprocessingofthesystem,microblogclassifyi北京航空航天大學畢業(yè)設計(論文)classifiedintofinance,sports,technology,entertainmentdesignedamicrobloghothotwords,hotwordsclustering,andeventuallydetectthehotspotonmicro4)Thesystemeffectivelysupportanalysis,commentaryviewanalysis,locationanalysimicroblogrelatedresKeywords:Bigdata,microblog,Spark北京航空航天大學畢業(yè)設計(論文)第IV頁1緒論 11.1研究背景 1 11.1.2大數(shù)據(jù)時代已經(jīng)降臨 11.1.3微博平臺成為理論研究和應用開發(fā)的熱點 21.1.4有必要構建面向微博大數(shù)據(jù)處理平臺 31.2國內(nèi)外研究現(xiàn)狀 41.2.1微博研究現(xiàn)狀 41.2.2大數(shù)據(jù)處理技術現(xiàn)狀 51.3研究目標與內(nèi)容 61.4論文結(jié)構組織 82相關技術綜述 9 9 9 3分布式微博數(shù)據(jù)處理系統(tǒng)的設計 3.1系統(tǒng)需求 3.2設計原則 3.3系統(tǒng)總體架構設計 3.4微博數(shù)據(jù)存儲方案設計 3.4.1微博數(shù)據(jù)的結(jié)構 3.4.2微博數(shù)據(jù)存儲的需求 3.4.4Elasticsearch索引模型 北京航空航天大學畢業(yè)設計(論文)第V頁3.4.5最終存儲方案 3.5組件整合及統(tǒng)一查詢接口的設計 3.6微博分類算法設計 3.6.1SVM分類算法介紹 3.6.2微博分類設計 3.7熱點檢測算法設計 3.7.1熱詞檢測 21 213.7.3Canopy聚類算法介紹 223.7.4文本相似性度量 3.7.5熱點事件檢測設計 3.8本章小結(jié) 4分布式微博數(shù)據(jù)處理系統(tǒng)的實現(xiàn) 254.1系統(tǒng)開發(fā)環(huán)境 4.1.1平臺環(huán)境和開發(fā)語言 4.1.2技術基礎 4.2系統(tǒng)部署 4.2.1集群準備工作 26 4.3微博數(shù)據(jù)存儲的實現(xiàn) 4.3.1表和索引的建立 4.3.2數(shù)據(jù)的導入 4.4組件整合及統(tǒng)一查詢接口的實現(xiàn) 北京航空航天大學畢業(yè)設計(論文)4.4.3查詢接口的實現(xiàn) 4.5微博分類的實現(xiàn) 4.6微博熱點檢測的實現(xiàn) 4.6.1熱詞檢測的實現(xiàn) 4.6.2熱詞聚類的實現(xiàn) 404.7本章小結(jié) 5實驗驗證 5.1實驗環(huán)境 5.2功能實驗 5.2.1實驗目的 5.2.2實驗過程 5.2.3實驗結(jié)果分析 455.3性能實驗 5.3.1實驗目的 465.3.2實驗過程 465.3.3實驗結(jié)果分析 496總結(jié)與展望 6.1工作總結(jié) 6.2工作展望 致謝 參考文獻 附錄 附錄A系統(tǒng)部署相關文件 55 A3hadoopmapred-site.xml A4hadoopyarn-site.xml A5Hbasehbase-site.xml 北京航空航天大學畢業(yè)設計(論文) B1ES索引創(chuàng)建代碼 北京航空航天大學畢業(yè)設計(論文)1緒論Sougo,購物網(wǎng)站Amazon、taobao等大型網(wǎng)站,它們的用戶規(guī)模龐大,網(wǎng)注冊人數(shù)早已超過5億。CNNIC第33次中國互聯(lián)網(wǎng)絡發(fā)展狀況調(diào)查統(tǒng)計報告4]顯示截至2013年12月,我國微博用戶規(guī)模為2.81億,網(wǎng)民中微博使用率為45.5%,新浪微博大數(shù)據(jù)時代的到來,使得原有的數(shù)據(jù)挖掘方法和BI(BusinessIntelligence)工具已北京航空航天大學畢業(yè)設計(論文)越多的認識到企業(yè)數(shù)據(jù)的重要性。“紐約時報”在2012年2月的一篇專欄中稱,“大將開始這一進程?!毙录夹g的發(fā)展催生了新的交流手段,微博(Microblog)平臺提供服務允許用戶以網(wǎng)臺雖然具有強大的用戶粘性和用戶群體,但在其消息傳播的功能上遠落后于微博平臺。目前在中國,微博相對于其他傳統(tǒng)的SNS平臺具有較大優(yōu)勢,是研究與應用的熱點。注冊人數(shù)早已超過5億。CNNIC第33次中國互聯(lián)網(wǎng)絡發(fā)展狀況調(diào)查統(tǒng)計報告截至2013年12月,我國微博用戶規(guī)模為2.81億,網(wǎng)民中微博使用率為45.5%。尤其是在突發(fā)和北京航空航天大學畢業(yè)設計(論文)第3頁熱點事件中,微博的影響規(guī)模和傳播速度超越了普通博客和傳統(tǒng)的新聞媒體。2008年5月12日,中國四川汶川發(fā)生大地震,Twitter在約14時35分33秒披露首條消息;包括臨武瓜農(nóng)事件、校車超載事故,以及2014年4月起在全國產(chǎn)生巨大影響的“幼端的信息獲取方式提高了事件的采集時效性;而帶有follow(跟隨、關注)特征的用戶其內(nèi)容的傳播成本(包括時間成本、資源占用成本和用戶使用成本)很低,其直接結(jié)果及話題檢測和跟蹤(TopicDetectio大數(shù)據(jù)時代的到來,使得原有的數(shù)據(jù)挖掘方法和BI(BusinessIntelligence)工不能滿足實際需要,計算機科學界迫切需要尋求新的數(shù)據(jù)挖掘解決方案。2012年3月,(SDAV),在整合六個美國國家級實驗室和七個大學的科研力量的基礎上,開發(fā)一套新行效率(Efficiency)以及對異構(Heteroge北京航空航天大學畢業(yè)設計(論文)對傳統(tǒng)的社交網(wǎng)絡和微博應用等方面的研究,是最近一兩年的熱點。國內(nèi)外這方年2月的研究報告表明,微博內(nèi)容反映的用戶情感特征可以用于對某些特定事件進行北航等課題組和研究團隊已在這方面開展了深入研究,并取得了一些卓有成效的工作。目前針對微博已經(jīng)有一些分析工具和研究成果。如新浪官方提供的工具知微1,該工具免費版提供2000以下轉(zhuǎn)發(fā)傳播分析;提供可視化的微博傳播路徑圖,傳播關鍵人1、整體展現(xiàn):以可視化的表現(xiàn)方式展現(xiàn)微博傳播路徑,展現(xiàn)關鍵人物、統(tǒng)計覆蓋2、粉絲屬性:性別比例、地域分布、加V認證北京航空航天大學畢業(yè)設計(論文)5、其他分析:在轉(zhuǎn)發(fā)數(shù)據(jù)分析的基礎上,可以延伸設計出許多有趣的角度,比如容業(yè)容圖1.1PKUVIS微博轉(zhuǎn)發(fā)分析Google作為大數(shù)據(jù)應用最為廣泛的互聯(lián)網(wǎng)公司之一,2006年率先提出“云計算”北京航空航天大學畢業(yè)設計(論文)第6頁處理技術。受到GFS和MapReduce啟發(fā),Apache開源組織開發(fā)了一個云計算平臺Hadoop,現(xiàn)在Hadoop已經(jīng)發(fā)展為一個包括分布式文件系統(tǒng)(HadoopDistributedFileSystem,HDFS)、分布式數(shù)據(jù)庫(HBase、Cassandra)以及數(shù)據(jù)分析處理MapReduce等模塊在內(nèi)的完整生態(tài)系統(tǒng)(Ecosystem),圖1.2展示了一個典型的Hadoop生態(tài)系統(tǒng)的構成。Hadoop現(xiàn)已經(jīng)發(fā)展成為目前最流行的大數(shù)據(jù)處理平臺,在很多大公司如Facebook15、雅虎、IBM被廣泛使用,關于Hadoop的詳細介紹見2.1節(jié),關于HBase的詳細介紹見2.2UNIFIED,ELASTIC,RESILIENT,SECUREFilesystem加州伯克利大學AMP實驗室提出了一種基于內(nèi)存的分布式計算框架Spark?l,目標是解決在大規(guī)模的特定數(shù)據(jù)集上的迭代運算或重復查詢檢索,其聲稱在某些運算時,速度比MapReduce快百倍以上。Spark發(fā)展迅速,2014年2月,該項目成為Apache頂Hadoop的Cloudera(CDH)發(fā)行版的默認流處理框架已經(jīng)替換成了Spark,Mahout的支持平臺也從MapReduce遷移到Spark。Spark正在成為新一代的分布式計算框架的事本研究的目標是要實現(xiàn)一個面向微博的分布式數(shù)據(jù)處理系統(tǒng),在此系統(tǒng)上實現(xiàn)以下幾點功能用以驗證系統(tǒng)的有效性,正確性,可靠性及性能:北京航空航天大學畢業(yè)設計(論文)第7頁1.高效的微博數(shù)據(jù)查詢引擎,實現(xiàn)高效的微博數(shù)據(jù)查詢引擎,支持多字段范圍查詢等2.微博流的實時分類,將爬蟲獲取的微博流實時分為政治、新聞、科技、娛樂等類別,得到微博在每個領域的活躍情況3.微博熱點事件的發(fā)現(xiàn)與監(jiān)測,在分類后的各類別微博中發(fā)現(xiàn)該類別下的熱點事件,并且監(jiān)測該事件的熱度變化。根據(jù)研究目標,本文研究內(nèi)容如下:本研究的主要研究內(nèi)容是要面向微博的分布式數(shù)據(jù)處理系統(tǒng),設計出并搭建出系統(tǒng),針對系統(tǒng)各個組件進行整合優(yōu)化,實現(xiàn)高效的查詢和計算引擎,以及在該系統(tǒng)上運行幾個樣例算法,最終達到本研究的研究目標。首先需要搭建這樣一套分布式存儲與處理框架,支持大量微博數(shù)據(jù)的實時查詢,查詢的內(nèi)容包括,按關鍵字查詢微博,查詢微博的轉(zhuǎn)發(fā)樹,查詢用戶信息。查詢的條件可以是用戶名,日期,關鍵字,并且可以統(tǒng)計出查詢微博集合的地域分布,年齡分布,用戶類型分布等統(tǒng)計信息。其次實現(xiàn)統(tǒng)一的查詢接口,各個查詢結(jié)果整合,統(tǒng)一接口,以便于上層應用的查詢。針對微博數(shù)據(jù)的特點,設計合理的存儲與查詢方案,配合統(tǒng)一的查詢接口,從而實現(xiàn)高效的微博數(shù)據(jù)查詢。深度整合各組件,使各組件可以方便的互相訪問數(shù)據(jù)。最后以微博分類和微博熱點檢測為應用示例,測試系統(tǒng)的查詢與計算性能。研究目標與內(nèi)容示意圖如下:目標北京航空航天大學畢業(yè)設計(論文)第1章主要介紹研究的背景。首先介紹大數(shù)據(jù)的發(fā)展情況以及關于微博的一些研究第3章主要介紹對分布式微博數(shù)據(jù)處理系統(tǒng)的設計,首先給出了系統(tǒng)的需求,概括第5章完成系統(tǒng)的設計和實現(xiàn)后,根據(jù)第三章提出的功能需求對系統(tǒng)功能與性能進第6章總結(jié)和展望。對論文進行總結(jié),找出論文中的不足之處,并對下一步的工作北京航空航天大學畢業(yè)設計(論文)第9頁2相關技術綜述ApacheHadoop|l?]是由Apache基金會支持的開源實現(xiàn)MapReduce項目,該項目包含許多子項,目前已被廣泛應用于分布式環(huán)境的構建和資源管理。ApacheHadoop提供了一套能夠在分布式集群上處理大數(shù)據(jù)集的編程框架,并能夠?qū)崿F(xiàn)對分布式計算機集群的管理,包括整合存儲能力、任務調(diào)度、橫向擴展等。該框架通過自身的容錯機制實現(xiàn)系統(tǒng)的高可靠性,而不依賴于各個節(jié)點的硬件性能。該項目包括如下幾個核心組件:1.HadoopCommon:通用組件,對其他組件提供基礎支持。2.HadoopDistributedFileSystem(HDFS):Hadoop的分布式文件系統(tǒng),提供高吞吐的數(shù)據(jù)訪問。3.HadoopYARN:任務調(diào)度和資源管理框架,在其最新版本中發(fā)布,未來將用于支持多種分布式編程框架。4.HadoopMapReduce:并行運算編程框架MapReduce的一種開源實現(xiàn)。除此之外,還有許多基于上述核心組件的組件或子項目,如:ZooKeeper,Mahout,HBase是參照GoogleBigtable實現(xiàn)的開源NoSQL數(shù)據(jù)庫191,它具有強一致性、性能隨機寫、面向列可動態(tài)修改、可水平仲縮的特性。HBase支持范圍查詢,支持行事務。而且HBase作為從Hadoop項目分離出來的子項目,與其無縫集成,Hadoop處理后的數(shù)據(jù)可以直接寫入HBase,而HBase的數(shù)據(jù)可以直接通過Hadoop處理。Facebook選擇HBase作為他們的短消息存儲系統(tǒng),國內(nèi)的淘寶云計算平臺同樣運用HBase作為后臺儲HBase具有良好的擴展性,能按rowkey進行高效查詢,能快速查詢一定范圍內(nèi)的rowkey數(shù)據(jù)。然而HBase的易用性不好,不支持SQL語言,每條SQL語句都需要用戶使用相應的HBaseAPI實現(xiàn),還要考慮運用合適的Filter,是否使用查詢緩存、是否使用Coprocessor等。而且HBase不支持二級索引,作條件查詢時,只能全表掃描,并使用北京航空航天大學畢業(yè)設計(論文)它是由加州大學伯克利分校AMP實驗室(Algorithms,Ma發(fā),可用來構建大型的、低延遲的數(shù)據(jù)分析應用程序[20]。Apache基金會宣布旗下的ApacheSpark項目成為基金會的頂級項目,擁有頂級域名,基金會稱SpApacheSpark是一種與Hadoop相似的開源集群計算環(huán)境,但是兩者之間還存在一些不同之處,這些有用的不同之處使Spark在某些工作負載方面表現(xiàn)得更加優(yōu)越,RDD:Spark的核心概念是RDLineage:利用內(nèi)存加快數(shù)據(jù)加載在眾多的的部分分區(qū)數(shù)據(jù)丟失時,它可以通過Lineage獲取足夠的信息來重新運算和恢復丟失的北京航空航天大學畢業(yè)設計(論文)第11頁于云計算中,能夠達到實時搜索,穩(wěn)定,可靠北京航空航天大學畢業(yè)設計(論文)第12頁3分布式微博數(shù)據(jù)處理系統(tǒng)的設計網(wǎng)的數(shù)據(jù)處理系統(tǒng)的功能需求;然后,從需求角度出發(fā),明確系統(tǒng)的設計原則;其3.系統(tǒng)有較高的可靠性與性能(吞吐量,延遲)。在明確功能需求的基礎上,分析上述的系統(tǒng)功能需求可以得出兩點要求:1)本系1.模塊化原則:系統(tǒng)的底層存儲、索引、計算引擎等模塊相互分離、各個獨立功能的分離、核心系統(tǒng)與上層應用的分離等等都要求了系統(tǒng)需要高度模塊化,模塊化的原則也讓系統(tǒng)的復雜度有了很大的下降,但對模塊間通訊和耦合提出了2.實時性原則:微博查詢是用戶的常用功能,要想有良好的用戶體驗,要盡量縮3.可靠性原則:分布式系統(tǒng)中部分組件存在單點故障,應該做一些措施,保證系北京航空航天大學畢業(yè)設計(論文)第13頁所以保證網(wǎng)頁的功能和性能體驗優(yōu)良,是系統(tǒng)設計和實現(xiàn)的一大原則,要充分微博搜索微博搜索統(tǒng)計分析微博分類事件檢測查詢接口大數(shù)據(jù)存儲NoSQl應用層高圖3.1系統(tǒng)架構圖2.ElasticSearch(以4.Mahout:運用Mahout中的機器學習算法支持系統(tǒng)的一些運算;7.在本系統(tǒng)之上的應用有微博搜索、統(tǒng)計分析、微博分類、事件檢測等。北京航空航天大學畢業(yè)設計(論文)第14頁段有微博ID、微博來源、微博創(chuàng)建時間、地理信息(經(jīng)緯度)、微博作者ID、微博配圖、微博內(nèi)容、轉(zhuǎn)發(fā)的上一級微博的ID(如果是轉(zhuǎn)發(fā)微博)、轉(zhuǎn)發(fā)的根微博的ID、(如果是轉(zhuǎn)發(fā)微博)、轉(zhuǎn)發(fā)數(shù)量、評論數(shù)量、點贊的數(shù)量;2.用戶數(shù)據(jù),此數(shù)據(jù)是微博對應的用戶的相關信息,其中包含的字段有用戶UID、3.評論數(shù)據(jù),此數(shù)據(jù)是針對某條微博的評論信息,其中包含的字段有評論的ID、各個轉(zhuǎn)發(fā)微博的ID以及其對應的上一級的ID。1.能查詢到一條微博的所有信息,包括博文信息,用戶信息,評論信息,轉(zhuǎn)發(fā)信3.本系統(tǒng)的微博數(shù)據(jù)應滿足離線分析的需求,能高效的批量掃描一段時間所有微北京航空航天大學畢業(yè)設計(論文)第15頁Hbase是一個稀疏的,排序的,長期存儲在硬盤上的,多維度的映射表。HBase表是由行和列構成的,所有的列是從屬于某一個列族的。行和列的交叉點稱之為cell,cell是版本化的。cell的內(nèi)容是不可分割的字節(jié)數(shù)組。表的行鍵也是一段字節(jié)數(shù)組,所以任何東西都可以保存進去,不論是字符串或者數(shù)字。HBase的表是按key排序的,排序方式之針對字節(jié)的。所有的表都必須要有主鍵-key。在HBase是列族一些列的集合。一個列族所有列成員是有著相同的前綴。比如,列info:text和info:uid都是列族courses的成員。冒號(:)是列族的分隔符,用來區(qū)分前綴和列名。column前綴必須是可打印的字符,剩下的部分(稱為qualify),可以又任意字節(jié)數(shù)組組成。列族必須在表建立的時候聲明。column就不需要了,隨時可以新建。先看一info:text="轉(zhuǎn)發(fā)微博…"在物理上,一個的列族成員在文件系統(tǒng)上都是存儲在一起。因為存儲優(yōu)化都是針對列族級別的,這就意味著,一個colimnfamily的所有成員的是用相同的方式訪問的。盡管在概念視圖里,表可以被看成是一個稀疏的行的集合。但在物理上,它的是區(qū)分列族存儲的。新的columns可以不經(jīng)過聲明直接加入一個列族。info:text="轉(zhuǎn)發(fā)微博…"北京航空航天大學畢業(yè)設計(論文) "3705418322770060"t3contents:createAt="2014-05 要存儲。因此若一個請求為要獲取t8時間的inf定行的屬性,Put要么向表增加新行(如果key是新的)或更新行elasticsearch的模型基于JSON,事實上,在ES支持插入索引、按ID獲取一條記錄,以及按queryString來做查詢,還支持的針對微博數(shù)據(jù)的特點,本系統(tǒng)對微博數(shù)據(jù)的需求,結(jié)合數(shù)據(jù)庫HBase和索引微博id相結(jié)合作為鍵的存儲方案,即以time-mid為rowk中,同時在ElasticSearch中以mid為id索引微博,另外還索引微博中再查詢一遍補充信息,這時要用在ES中查到北京航空航天大學畢業(yè)設計(論文)rowkey去HBase中查詢。對于掃描某一時間段此信息存儲在HBase中,以“原始微博id”,“id,對應的列值是該轉(zhuǎn)發(fā)的上一級微博id。HBase的MapReduce接口,以類似Hadoop的方式一的web端調(diào)用,所以必須將各個查詢結(jié)果整合,北京航空航天大學畢業(yè)設計(論文)*工工圖3.2統(tǒng)一查詢接口支持向量機(SVMs)在Cortes和Vapnik(1995)被引入,擴展了瓦普尼克(1982)SVMs特別適合處理高維的數(shù)據(jù),例如文本文檔的定中,它們處理類被嚴格限制為兩個的二進制分類器問題(后面會討論多類SVMs)??紤]到訓練集D={(xi,yi),i=1,.,n},xi∈Rm,其中yi∈{-1,1}數(shù)h:Rm→{0,1}可以通過引入符號f(x)得到,北京航空航天大學畢業(yè)設計(論文)第19頁學習這類模型需要從數(shù)據(jù)中決定w,wo。如果存在一個超平面,它的所有相關分類函數(shù)都和所有標簽一致,例如yif(xi)>0,當i=0,…,n,那么訓練樣例就是線性可分的。在這個前提下,羅森布拉克(1958)證明了下面的簡單迭代算法結(jié)束并返回一個6dos←sgn(y;(wTx;+wo))可以看出,D是線性可分割的充分條件是訓練樣例的數(shù)目n=|D|要小于或者等于m+1。這在文本分類中這種情況很可能發(fā)生,詞匯表一般包括幾千個關鍵詞,通常比可用的訓練樣例集數(shù)目大。從SVM的原理中可以看出來,SVM是一種典型的兩類分類器,即它只回答屬于正類還是負類的問題。而現(xiàn)實中要解決的問題,往往是多類的問題,比如本系統(tǒng)要實現(xiàn)的微博分類。如何由兩類分類器得到多類分類器,是一個值得研究的問題。文本分類為例,現(xiàn)成的方法有很多,本文用一種所謂“一類對其余”的方法,就是每次仍然解一個兩類分類的問題。我們要把微博分成有5個類別,第一次就把類別1的樣本定為正樣本,其余2,3,4,5的樣本合起來定為負樣本,這樣得到一個兩類分類器,它能夠指出一篇文章是還是不是第1類的;第二次我們把類別2的樣本定為正樣本,把1,3,4,5的樣本合起來定為負樣本,得到一個分類器,如此下去,我們可以得到5北京航空航天大學畢業(yè)設計(論文)第20頁個這樣的兩類分類器(總是和類別的數(shù)目一致)。微博分類的時候,我們需要將該條微博去5個分類器中分別檢測,是否是某類的分類。這種方法的好處是每個優(yōu)化問題的規(guī)模比較小,而且分類的時候速度很快(只需要調(diào)用5個分類器就知道結(jié)果)。是要數(shù)倍于正類(因為它是除正類以外其他類別的樣本之和),這就人為的造成了的“數(shù)圖3.3微博分類示意圖是“突發(fā)詞”,即短時間內(nèi)微博上上升最快的詞,每隔一段時間將近期的微博分詞統(tǒng)計北京航空航天大學畢業(yè)設計(論文)第21頁微博熱詞的檢測需要分詞,統(tǒng)計,比較三個步驟,整個算法設計成了Spark任務,分布式運行提高效率。1.分詞,原始的微博是文本信息,需要將文本進行分詞處理,本文采用了著名的2.詞的匯總統(tǒng)計,分詞完成后,先將所有微博的分詞結(jié)果按秒?yún)R總,即統(tǒng)計每一秒內(nèi)的微博中出現(xiàn)每個詞的個數(shù),再以每秒的詞頻數(shù)據(jù),匯總出每一分鐘的詞頻,繼而統(tǒng)計出每一小時,每一天的詞頻數(shù)據(jù)。至此,可以得到任意時間內(nèi)的微博的詞頻統(tǒng)計。3.比較當前時段詞頻與歷史時段詞頻,將變化最大的詞挑選出來即為此時段的突發(fā)熱詞,此過程中會需要設置過濾條件,將一些噪音詞去除。3.7.2K-Means聚類算法介紹Kmeans是一種常用高效的聚類算法[22|,1967年,MacQueen將他所提出的一種算法命名為k-means算法。這種算法的基本思想是將每一個樣本分給具有最近中心(均值)的聚類。k-means是數(shù)據(jù)挖掘和知識發(fā)現(xiàn)領域中一種重要且成功的方法。該算法是一種基于迭代的重劃分策略:算法完成時將數(shù)據(jù)集劃分成事先規(guī)定的K個簇類,而迭代過程中不斷的優(yōu)化各個數(shù)據(jù)點與聚類中心之間的距離。對于數(shù)據(jù)點集合X=[xi,…xn},個劃分的中心,則有下面的目標函數(shù):北京航空航天大學畢業(yè)設計(論文)第22頁k-means算法正是基于上面的目標函數(shù),不斷尋找該函數(shù)最小值的方法。最簡單的1.將所有樣本分成K個初始聚類。2.將樣本集合中的某個樣本劃入中心(均值)離它最近的聚類。(這里的距離通常是用標準化或非標準化數(shù)據(jù)算出的歐氏距離)。對得到樣本和失去樣本的兩個聚類重新計算他們的中心(均值)。3.重復步驟2,直至所有的樣本都不能再分配時為止。上述過程中,步驟1也可以不從分割出K個初始聚類開始,而從規(guī)定K個初始中數(shù)據(jù)進行“粗”聚類,得到k值后再使用K-means進行進一步“細”聚類。圖3.5Canopy聚類算法示意第23頁1:給定一個向量化的數(shù)據(jù)集D,選擇兩個距離閾值T1,T2,且T1>T2;2:隨機取D中的一個數(shù)據(jù)d作為中心,并將d從D中移除;5:將所有distance<T2的點,都從D中移除;6:重復步驟3到5,直到D為空,形成多個canopy類,算法結(jié)束。3.7.4文本相似性度量在分類聚類算法,推薦系統(tǒng)中,常要用到兩個輸入變量(通常是特征向量的形式)距離根據(jù)輸入數(shù)據(jù)的特征,選擇一種合適的相似性度量方法.此值就是兩個向量之間的夾角的余弦值。余弦相似度用向量空間中兩個向量夾角的余弦值作為衡量兩個個體間差異的大小。相比距離度量,余弦相似度更加注重兩個向量在方向上的差異,而非距離或長度上。向量化,再用Canopy聚類算法得到初始類的數(shù)目和中心點,然后用K-means進行進一北京航空航天大學畢業(yè)設計(論文)第24頁K值和中心點3.8本章小結(jié)本章首先給出了整體的需求,概括了系統(tǒng)應該完成的工作,隨后基于系統(tǒng)功能需求,制定了系統(tǒng)設計目標,提出系統(tǒng)設計原則。根據(jù)系統(tǒng)功能需求和設計原則,設計了系統(tǒng)的總體架構。后面重點介紹了微博數(shù)據(jù)存儲方案的設計,組件整合及統(tǒng)一查詢接口的設計,微博分類及熱點檢測的算法設計。通過本章的介紹,給出了分布式微博數(shù)據(jù)處理系統(tǒng)的設計,為下一步具體的實現(xiàn)做好準備。北京航空航天大學畢業(yè)設計(論文)第25頁4分布式微博數(shù)據(jù)處理系統(tǒng)的實現(xiàn)本系統(tǒng)運行環(huán)境是一個8個節(jié)點的集群,每個節(jié)點的配置如下?!馛PU:2顆,每顆8核心16線程(Intel(R)Xeon(R)CPUE5-26500@2.00GHz)●硬盤:6T機械硬盤,480G固態(tài)硬盤2.開發(fā)環(huán)境北京航空航天大學畢業(yè)設計(論文)第26頁2.2.0(本地編譯)0.90(本地編譯)4.2.1集群準備工作在部署系統(tǒng)所需的組件之前,需要先對集群做一些準備工作,主要包括集群IP和域名的配置,集群ssh的配置,以及安裝JDK和NTP服務,準備一些批處理腳本,以方便之后的軟件部署工作。集群準備的流程如圖4.1所示1、集群地址與域名本文搭建了一個8節(jié)點的集群,每個節(jié)點的IP和域名如下,需要在每個節(jié)點的/etc/hosts文件中添加集群地址和域名信息。北京航空航天大學畢業(yè)設計(論文)第27頁域名配置好后,確保每臺機器ssh可以免密碼互相訪問。由于每臺機器的配置基本相同,所以只需要在一臺機器上配置好后,將文件拷貝到其他機器,為了使這個過程更加便捷,本文使用了腳本remote.sh,此腳本可以在每個節(jié)點上執(zhí)行給定的命令,如要給所有節(jié)點同步指定的文件,則可以使用remote.sh方便的3、相關軟件安裝為了使集群的時鐘一致,需要在每個節(jié)點上安裝ntp服務;另外,Hadoop、Hbase、Spark、Elasticsearch的運行都依賴于JAVA,所以需要安裝JDK;一些軟件的編譯需要(1)將下載的JDK解壓到任意目錄,如/usr/java/jdk目錄;(2)在/etc/profile中添加JAVA_HOME環(huán)境變量,將JAVA路徑添加到PATH;(3)用apt-get安裝ntp服務;(4)下載Maven,配置Path;(5)將文件同步到其它節(jié)點。由于Hadoop官方未提供64為的編譯版本,所以Hadoop的部署要從編譯源代碼開北京航空航天大學畢業(yè)設計(論文)第28頁始,編譯成功后,再在其中一個節(jié)點上進行Hadoop的配置,再把文件同步到其它節(jié)點,Hadoop包含HDFS和Yarn兩個模塊,前者是分布式文件系統(tǒng),后者是分布式計算調(diào)度框架,這兩個模塊需要分別啟動,HDFS啟動前還需要最后格式化namenode,整體的部署流程如下圖。1、重新編譯HadoopHadoop官方只提供32位版本,64位需要用戶自己編譯,將下載的Hadoop源碼解壓在一個目錄后,用Maven進行編譯,將編譯后的結(jié)果放在/usr/app/hadoop-2.2.0目錄。配置之前在每臺機器上建立文件夾/storagel/hdfs/name,/storagel/hdfs/data。這里要涉及到的配置文件有7個:北京航空航天大學畢業(yè)設計(論文)第29頁說明hadoop-2.2.0/etc/hadoop/hadoopHadoop環(huán)境變量,如JAVA__HOMEhadoop-2.2.0/etc/hadoop/yarnYARN環(huán)境變量,如JAVA_HOMEhadoop-2.2.0/etc/hadoophadoop-2.2.0/etc/hadoop/core-sHadoop核心配置,如端口hadoop-2.2.0/etc/hadoop/hdfs-shadoop-2.2.0/etc/hadoop/mapred-smap/reduce的配置,如指定調(diào)度器為hadoop-2.2.0/etc/hadoop/yarn-s這個文件里面保存所有slave節(jié)點,從bd34到bd40共7個節(jié)點,每個節(jié)點一行。的IO緩沖區(qū)大小,Hadoop的臨時目錄,Hadoop的用戶權限控制等,詳見附錄A1。此文件配置了HDFS相關的信息,包括name和data的存儲目錄,備份NameNode(6)配置文件6:mapred-site.xml此文件配置了map/reduce相關的信息,如map/reduce的調(diào)度框架配置為Yarn,配置map/reduce的jobhistory地址等,詳見附錄A3。(7)配置文件7:yarn-site.xml此文件配置了Yarn相關的信息,包括resourcemanager的地址,shuffle所用的類,Yarn的web頁面的地址等,詳見附錄A4。3、復制到其它節(jié)點用之前的remote.sh批處理腳本運行scp命令將Hadoop及其配置拷貝到每個節(jié)點。北京航空航天大學畢業(yè)設計(論文)HDFS使用之前需要將namenode格式化,執(zhí)行“hadoopnamenode-format”命令,運行start-dfs.sh腳本,可以啟動hdfs,啟動后在hdfs的web管理界面可以看到如下NameNode’bd33.sm.act.buaa.CID-8eeal4fc-647f-4549-9c12-588e0a4BrowsethefileavatNameNodeLogs9373filesanddirectories,80174blocks=89547t::Win%:00圖4.3HDFS管理界面在HDFS管理界面中,第一個表格顯示了集群用大小,剩余大小,點擊“LiveNodes”可以查看每個節(jié)點的詳情,點擊“Browsethe北京航空航天大學畢業(yè)設計(論文)第31頁這里要涉及到的配置文件有3個:表4.4HBase配置文件一覽說明(1)配置文件1:hbase-env.sh修改JAVA_HOME值(exportJAVA_HOME=/usr/java/jdk)。(2)配置文件2:regionservers這個文件里面保存所有regionserver節(jié)點列表,從bd34到bd40共7個節(jié)點,每個(3)配置文件3:hbase-site.xml運行start-hbase.sh腳本,可以啟動HBase,啟動后可以在master的60010端口看到北京航空航天大學畢業(yè)設計(論文)第32頁主要是配置ES的存儲位置,數(shù)據(jù)分片的數(shù)目,和索引分析器分詞器的相關配置,其詳細配置如下。5、復制到其它節(jié)點用之前的remote.sh批處理腳本運行scp命令將HBase及其配置拷貝到每個節(jié)點。ES的啟動需要在每個節(jié)點上運行命令“elasticsearch-d”。其正確運行后,在其管理界面中,用戶可以看到當前集群的每個節(jié)點上,索引分片的存儲情況,還可以利用界本系統(tǒng)中的Spark要運行在yarn模式,需要將Spark重新編譯。將下載的Spark源碼包解壓到/usr/app/spark-src目錄,在此目錄用maven編譯spark將生成的spark拷貝到/usr/app/3、拷貝spark到其它節(jié)點北京航空航天大學畢業(yè)設計(論文)第33頁StandaloneDeploy模式,需要部署Spark到相關節(jié)點Mesos模式,需要部署Spark和Mesos到相關節(jié)點SparkContext和任務都運行在Yarn集群中SparkConext運行在本地,task運行在Yarn集群中本系統(tǒng)主要采用yarn-standalone模式,提交任務測試yarn-standalone模式。Spark任務運行后,在監(jiān)控界面可以看到每個job的每個stage的每個task的進度情況。4.3微博數(shù)據(jù)存儲的實現(xiàn)4.3.1表和索引的建立HBase中需要建立weibosInfo,userlnfo,commentsInfo,forwardIndex四張表。createuserlnfo','info’create'forwardIndex','inf在Elasticsearch中需要建立微博內(nèi)容的索引,需要索引的字段如表4.6所示。北京航空航天大學畢業(yè)設計(論文)第34頁字段名說明無發(fā)布時間無轉(zhuǎn)發(fā)原始微博的ià用戶名無性別無無無HBase的數(shù)據(jù)導入主要通過put方法實現(xiàn)。HTable的實例具有一個put的方法,其參數(shù)接收一個Put,也可以接收由Put構成的List,用于批量提交數(shù)據(jù)。ES中數(shù)據(jù)的導入通過bulkindex的方式實現(xiàn)。北京航空航天大學畢業(yè)設計(論文)第35頁89首先,BulkRequestBuilder是個批量提交的工具,通過add方法,加入很多個單獨的IndexRequestBuilder,IndexRequestBuilder對應一條索引,包含了索引的id和其他字段。BulkRequestBuilder調(diào)用execute).actionGet()方法來將創(chuàng)建的索引批量提交。4.4組件整合及統(tǒng)一查詢接口的實現(xiàn)Spark訪問HBase需要用到TablelnputFormat和TableOutputFormat,Spark的newAPIHadoopRDD方法用來執(zhí)行Hadoopmap/reduce任務,將map/reduce任務的輸出作為一個RDD,之后就可以像其他RDD一樣就行運算了;將數(shù)據(jù)寫入HBase時要用到RDD自帶的saveAsHadoopDataset的方法,通過設置jobconf將數(shù)據(jù)作為Hadoopmap/reduce任務的輸入,進而保存到HBase。下面的代碼演示了Scan一段時間的微博作為SparkRDD的來源,并且做了一些運算之后將結(jié)果保存到HBase。5//需要讀取的hbase表名北京航空航天大學畢業(yè)設計(論文)第36頁代碼的1-4行,構建了一個scan操作,startRow和stopRow指定將要讀取的數(shù)據(jù)范代碼的6-9行,構建了Hadoop任務的conf,主要指定了輸入輸出的表名,SCAN代碼的10-12行,調(diào)用了SparkContext的newAPIHadoopRDD的方法。該方法用于從一個Hadoop任務中獲取一個RDD,該方法定義如下。newAPIHadoopRDD(conf:Configuration,fClass:Class[F],kClass:Class[KnewAPIHadoopRDD接受四個參數(shù),分別是Hadoop的conf,InputFormat的類,Key的類和Value的類,方法返回一個Key、Value對應的RDD。代碼的13-16行,演示了向HBase中寫數(shù)據(jù),其寫入的數(shù)據(jù)是由Put構成的RDD,通過saveAsHadoopDataset方法將數(shù)據(jù)寫入,該方法接受一個Jobconf類型的參數(shù),此參數(shù)中指定要寫入的表和OutputFormat類型。Spark訪問ES主要通過EsInputFormat和EsOutputFormat實現(xiàn)23457Configurationconf=newConfigu"crawler/msg/_search?q="+URLEncoderconf.set("es.nodes"conf.set(ConfigurationOptions.ES_HOSTJavaPairRDD<Text,MapWritable>in=sc.newAPIESInputFormat.class,String.class,MapWritable.代碼的1-6行構建了ES查詢?nèi)蝿盏呐渲眯畔?,如ES的節(jié)點IP,要查詢的索引名,要查詢的查詢字符串word等。第7行調(diào)用newAPIHadoopRDD得到以Text,MapWritable為Key和Value的RDD。北京航空航天大學畢業(yè)設計(論文)第37頁4.4.3查詢接口的實現(xiàn)目前微博數(shù)據(jù)分別存儲在HBase和ES中,所以查詢的時候需要整合二者的查詢結(jié)果,給上層應用提供統(tǒng)一的查詢接口。(pageNumber-1)*pageSize,page.getSort().iterator)該方法主要提供給應用層調(diào)用,方法有4個參數(shù),查詢參數(shù)SearchParams,頁號pageNumber,頁大小pageSize,以及排序方式sortType,該方法返回經(jīng)過Page包裝的微博內(nèi)容,除了包含具體的微博內(nèi)容外,還包含總頁數(shù),當前頁數(shù)等分頁信息。查詢參數(shù)searchParams是一個key-value字典(map),里面的“all”字段代表查詢字符串,“date_from”和“date_to”分別是微博發(fā)布的起止時間(Date類型)。排序方式sortType可以是auto,releasedate,repostcount分別表示按匹配度、發(fā)布時間、轉(zhuǎn)發(fā)數(shù)排序。4.5微博分類的實現(xiàn)微博的分類需要先采集分類用的訓練集,對訓練集進行分詞,提取特征值,再用向量化的數(shù)據(jù)訓練出SVM分類器,這樣后面就可以對實時微博進行分類預測了。其流程如圖4.4所示。1、微博分詞北京航空航天大學畢業(yè)設計(論文)第38頁微博分類第一步是要采集訓練集,本系統(tǒng)用一些關鍵微博賬號所發(fā)布的微博作為各個分類的樣本,在索引層中采集“新浪體育”、“新浪財經(jīng)”、“新浪娛樂”、“新浪科技”、“社會新聞”五個賬號的微博作為“體育”、“財經(jīng)”、“娛樂”、“科技”、“社會”五類的訓練樣本,共16000條,其中“體育”、“財經(jīng)”、“娛樂”、“科技”、“社會新聞報道”的微博分別為8000,4000,2000,1000,1000條,以保證每次分類的時候不會發(fā)生“數(shù)據(jù)集傾斜”。第二步是要對微博進行特征提取和向量化,先對訓練集微博進行分詞,提取其中的名詞和動詞作為微博特征,用TF-IDF值1241作為該特征的值,得到一個多維的向量,每一維代表一個詞在該微博中的特征值。接下來要開始模型的訓練,本系統(tǒng)使用spark的MIlib提供的SVM分類器,將二分類擴展為多分類。模型訓練好之后,就可以開始微博分類的預測了,預測時,先將微博分詞后用TF-IDF提取特征值,再用訓練好的模型分別比對,得出該微博所屬的分類。4.6微博熱點檢測的實現(xiàn)4.6.1熱詞檢測的實現(xiàn)北京航空航天大學畢業(yè)設計(論文)第39頁分詞主要是將輸入微博內(nèi)容切分成一個個的單詞,返回一個詞匯列表,具體的實現(xiàn)中先用IK分詞器將輸入內(nèi)容分詞后,過濾掉不需要的詞(單字詞,亂碼詞),再返回詞頻的匯總流程如下圖所示。首先將輸入的日期參數(shù)分割成以天為長度的時間段。對每個時間段,先按秒?yún)R總該時間段每個詞的頻度,接著以每秒的數(shù)據(jù)計算出每分鐘的詞頻數(shù)據(jù),接著統(tǒng)計出每小時、每天的詞頻情況。3、熱詞檢測比較當前時段詞頻與歷史時段詞頻,將變化最大的詞挑選出來即為此時段的突發(fā)熱詞,此過程中會需要設置過濾條件,將一些噪音詞去除。北京航空航天大學畢業(yè)設計(論文)第40頁2013-07-1716.00x#23456789圖4.7熱詞檢測可視化界面4.6.2熱詞聚類的實現(xiàn)熱詞的聚類運用的Mahout中的Canopy和K-Means聚類算法。Pathoutput_kmean=newPath(kHadoopUtil.delete(conf,sHadoopUtil.delete(conf,output_HadoopUtil.delete(conf,outputgenerateSamples();CanopyDriver.buildClusters(conf,samples,ounewCosineDistanceMeasure(),0.9,0.9北京航空航天大學畢業(yè)設計(論文)第41頁words=wordList.toArray(words);KMeansDriver.buildClusters(conf,samples,newPath(canopyOut,Cluster.INITIAL_CLUSTERS_DIR+"-final"loadClustersWritable(newPath(kmeanO事事北京航空航天大學畢業(yè)設計(論文)第42頁5實驗驗證前兩個章節(jié)分別介紹了面向微博的分布式數(shù)據(jù)處理系統(tǒng)的詳細設計及核心功能模塊的具體實現(xiàn)過程。本章將對本系統(tǒng)的功能和性能進行測試和分析。首先介紹實驗環(huán)境,然后針對系統(tǒng)功能設計具體的實驗,實施實驗并分析測試結(jié)果,驗證本系統(tǒng)的可用性。本系統(tǒng)的實驗采用了與平臺運行相同的環(huán)境,詳見4.1.1節(jié)。本實驗的目的是,在配置好實驗環(huán)境之后,在本系統(tǒng)中,驗證以下各項功能:1)微博查詢,提供用戶查詢微博的界面;2)微博分類,演示微博實時分類的效果;3)熱詞檢測,提供給用戶查詢某一時間段熱詞的界面;4)熱點事件檢測,用戶能查詢某一時間段的熱點事件。*c總北京航空航天大學畢業(yè)設計(論文)在首頁輸入關鍵字“臨武瓜農(nóng)”,選擇起止時間后,點擊搜索按鈕后,出現(xiàn)圖5.1全部體育財經(jīng)娛樂科技社會大帥林V:男神一個月了?另:貌似我在第二學看見大嘴羅伯茨了,那時圖5.2微博分類展示用5類微博各1000條,計5000條,進行分類實驗,實驗結(jié)果如下表,每一行是1000條微博樣本,一行的各列代表分類結(jié)果。以10屬于體育,10條屬于財經(jīng),16條屬于娛樂,1條屬于科技,6條屬于社會:表5.1微博分類實驗結(jié)果體育娛樂體育6娛樂8北京航空航天大學畢業(yè)設計(論文)第44頁類別召回率體育娛樂4、熱詞檢測的實驗本系統(tǒng)用了2013年7月15日到2013年7月30日這半個月的近3億條微博作為數(shù)據(jù)集,進行了離線分析。以下是針對微博分析出的2013年7月17日連續(xù)四個小時的熱詞:右上角右上角右上角右上角右上角界面界面界面陳紫函界面界面瀏覽瀏覽瀏覽瀏覽卡片卡片瀏覽卡片卡片卡片二維碼二維碼二維碼二維碼主頁102歲陳浩民主頁主頁二維碼主頁推知電影劇本102歲102歲102歲之后不久主頁102歲發(fā)直臨武1200公里臨武直落在有喜城市管理行政執(zhí)法局不約而同1200公里恩仇記卷煙廠芝麻糊下面給出了經(jīng)人工搜索后,該段時間的一些熱門事件:北京航空航天大學畢業(yè)設計(論文)圖5.3熱詞對應的熱門微博16天=>0.98181818181818181200公里=>0.9818181818181818女大學生10天=>0.618181818181818217日郴州陳紫函審查實名副部級新華社記者圖5.4熱詞聚類的結(jié)果北京航空航天大學畢業(yè)設計(論文)第46頁本實驗的目的是,在配置好實驗環(huán)境之后,不同條件下處理微博數(shù)據(jù),驗證以下本1)微博查詢的性能;2)微博批量掃描的性能;3)微博分類的性能;4)微博熱詞檢測的性能;5)微博熱詞聚類得到熱點事件的性能。1、微博查詢的性能實驗過程:調(diào)用查詢接口,統(tǒng)計查詢一系列關鍵詞所花的時間,在瀏覽器上查詢關鍵詞第一次查詢響應時間第二次查詢響應時間馬航北京實驗結(jié)果分析由于ES及HBase都有緩存的設計,所以剛查詢過的關鍵詞,立即進行第二次查詢時,會直接利用緩存里的結(jié)果,響應時間會縮短很多。單獨就首次查詢相應時間而言,通過幾個關鍵詞的查詢響應時間可以看出,其響應時間基本保持在亞秒級別,基本滿足用戶在網(wǎng)頁上查詢及時返回結(jié)果的需要。2、微博批量掃描的性能實驗過程:通過Spark掃描某一時間段的所有微博,統(tǒng)計不同數(shù)據(jù)規(guī)模下,掃描所花的時間。北京航空航天大學畢業(yè)設計(論文)第47頁表5.5微博掃描性能實驗結(jié)果時間段所花時間77731圖5.5吞吐量與worker數(shù)量的關系圖5.6吞吐量與微博規(guī)模的關系北京航空航天大學畢業(yè)設計(論文)第48頁由于本系統(tǒng)采用了Yarn和Spark分布式框架,可以充分利用各臺機器的資源,在切分任務時,能很好的根據(jù)數(shù)據(jù)本地性來對輸入數(shù)據(jù)進行劃分,避免產(chǎn)生大量的網(wǎng)絡IO。總體來說Yarn的資源調(diào)度策略和Spark的并行計算模型保證了系統(tǒng)較高的擴展性和穩(wěn)定性。從實驗結(jié)果中,也驗證了本文提出的分布式微博數(shù)據(jù)處理系統(tǒng)的設計與實現(xiàn)的合3、微博分類的性能實驗過程,將5000條微博分類,統(tǒng)計所花時間。實驗結(jié)果:5000條微博分類用時2.4秒,分類速度達到2083(條每秒),完全滿足實時微博分類的需求。4、微博熱詞檢測的性能實驗過程:調(diào)用熱詞查詢的接口,統(tǒng)計查詢某一小時的熱詞所花的時間。時間段熱詞計算所花時間熱詞計算算法上并沒有多少復雜度,所花時間主要在某一時間段所有詞頻的數(shù)據(jù)讀取上,從實驗結(jié)果可以看出熱詞的查詢所花時間維持在數(shù)秒之類,基本可以滿足普通交互式查詢的需要。5、熱詞聚類得到熱點事件的性能實驗過程:調(diào)用熱詞聚類的接口,統(tǒng)計對某一小時的熱詞及其對應微博聚類所花的時間段Canopy所花時間Kmeans所花時間實驗結(jié)果分析北京航空航天大學畢業(yè)設計(論文)第49頁北京航空航天大學畢業(yè)設計(論文)第50頁6總結(jié)與展望平臺新浪和騰訊的注冊人數(shù)早已超過5億。新浪微博每日發(fā)博量超過一億條,如何從龐北京航空航天大學畢業(yè)設計(論文)第51頁1.系統(tǒng)更加通用化。本文實現(xiàn)的原型系統(tǒng)是面向微博數(shù)據(jù)集的,而使用大數(shù)據(jù)的3.改善算法效果。本系統(tǒng)中使用的分類算法和熱點檢測算法仍然比較粗糙,其準4.提高算法效率。目前本系統(tǒng)的熱詞分析和聚類效率都不是很高,尤其是聚類的北京航空航天大學畢業(yè)設計(論文)致謝養(yǎng)了我解決問題的能力,同時師兄嚴謹?shù)目蒲芯窈驼J真的工作態(tài)度也讓我受益匪淺。感謝一起在實驗室參與畢設的10級本科生馬國慶、姜皓、林璐、吳博、劉俊偉、北京航空航天大學畢業(yè)設計(論文)參考文獻[3]BigDataDefinition:WikiPEDIA[EB/OL]./wiki/Big_data./blog/2012/03/29/big-data-bTwitter[A].InProceedingsof2010IEEE/WIC/ACMInternationalConferenceonWebIntelligenceandIntelligentAgentTe[8]BrendanO'Connor,MichelKrieger,DavidAhn,TweetMotif:ExploratoTopicSummarizationforTwitter[A].InProceedingsoftheFourthInternationalAAAIConferenceonWeblogsandSocialMe[9]VijayErramilli,XiaoyuanYang,PabloRodrigueSONG:Soc

溫馨提示

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

評論

0/150

提交評論