999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于MapReduce微博數據清洗的研究與實現

2021-12-09 06:39:02王國珺
信息記錄材料 2021年11期
關鍵詞:程序內容

王國珺,林 峰

(福州職業技術學院 福建 福州 350000)

1 引言

采用任何方式抓取到的微博評論數據通常比較亂,其中有一些無用信息,而我們的目標是只提取其中的中文文字內容,因此抓取的數據在分析之前,必須進行清洗。數據清洗分為3個步驟,即抽取、轉換、加載。當數據量增大時,傳統的清洗技術已無法滿足企業之間的技術支持,所以本文結合MapReduce分而治之的思想設計出分布式數據清洗系統[1]。

2 微博數據的理解

微博數據首先是以半結構化XML格式存儲的,每個評論版塊內容用標簽標識,在該對標簽內部標簽對記錄該版塊的主題名稱,例如topic1,標簽對記錄該主題評論的具體內容,其中每對標簽代表一個完整的評論。有多少對,就代表該主題下有多少條評論。提取微博的存儲數據格式,核心結構如下所示[2]。

再看中間的具體內容結構,存儲格式如下:

其中每對標簽中對應的屬性名個數并不一致,屬性值用雙引號(””)進行標識,屬性值內容中也出現雙引號內容時,用轉義符號" "替代。如下面兩行數據的舉例中,有的屬性值中有Score(評分)項,有的記錄中沒有。

3 微博數據清洗業務

微博數據統計分析中,對于某類評論內容較多,每天或每天中某時主題帖子評論的數量及長度,或哪些用戶較活躍等,這些都需要將數據從XML存儲的格式中提取出來,例如哪些內容是哪個主題的,每一條評論內容中指定屬性值的提取等。該微博數據的結構決定了數據清洗大體是分兩種情況。

情況1:針對XML標簽進行主題清洗。

將不同主題數據以不同目錄的形式生成,針對每個目錄下存儲相應主題的評論內容,即每對標簽對應內容為同一個主題,清洗出comments標簽下對應屬性值(當前主題名稱),并將該標簽對應的所有評論內容一條(每對標簽內容對應一行)一行地存儲在該文件夾下。

情況2:針對<屬性名1=”屬性值1”>鍵值對數據的清洗。

獲取內容指定屬性值,例如獲取Text(評論內容)或CreationDate(評論時間)的值。由于標簽是成對出現,每個值用雙引號進行標簽,我們可以試著應用Map集合的方法進行提取。

4 微博數據清洗過程的實現

為了實現該微博存儲結構數據清洗的目的,首先需要當前運行的Hadoop的分片API查詢,看是否存儲已有的功能接口可以實現我們的需求。本案例借助對系統要求較低的Eclipse免費工具進行編寫,具體實現過程主要分3個大任務[3]。

任務1:Eclipse下建立項目并準備實驗數據。

主要完成項目編程過程的前期準備工作,主要分兩步完成:第1步:Eclipse下項目建立。例如建立一個名這BlogsCleanMRProject的項目。

第2步:實驗數據準備。可將數據暫時放入當前項目的根目錄下。

任務2:編寫MapReduce程序實現XML數據清洗。

第1步:自定義分片的編寫。

主要完成自定義RecordReader類(命名為XMLRecord Reader.java)和自定義InputFormat類(命名為XMLInput Format.java)的創建。Src下出現了設置的包名,包名下多出新建立的類文件XMLRecordReader.java,并且該文件在Eclipse工具中央窗口位置打開,可以在此進行代碼的編輯,見圖1。

圖1 編程窗口

編寫XMLRecordReader類文件程序,部分參考代碼如下。

第2步:編寫Mapper類實現XML指定標簽內容讀取與數據分箱。

(1)選中項目下包名com.apache.hadoop.mr.split,鼠標右鍵,依次選擇New->class選項,在彈出的New Java Class窗口中配置包名和類文件名XMLMapper,單擊Finish按鈕。見圖2。

圖2 配置XMLMapper

(2)在新建立的XMLInputFormat類文件中編寫程序,參考代碼如下。

任務3:編寫MapReduce程序實現評論內容屬性值的解析。

任務2中實現了Mapper中map方法讀取的是一條一條的對應的值,即每一條評論的內容,這些內容是以<屬性名1=”屬性值1”,屬性名2=”屬性值2”,……,屬性名n=”屬性值n”>成對的方式出現的,每條數據量在本地Hadoop集群的節點中的Mapper進程中運行是綽綽有余的,故只需要編寫一個解析<屬性名1=”屬性值1”>對的方法即可。由于中值的屬性對個數并不統一,例如有的有Score評分項,有的沒有,所以可將解析出來的內容以鍵值對的方式存儲入集合中,供程序調用即可,故本任務實現過程主要分3步[4]。

第1步:編寫解析每條評論內容的類文件,例如MRUtils.java。即將中值中每對屬性的解析出來,以鍵值對的方式存儲入集合中。

第2步:編寫Mapper類讀取評論中指定屬性Text和CreationDate的值。在任務2的基礎上在Mapper類中調用,并通過MRUtils類解析中值中每對屬性值,做這map的K-V傳入上下文中。

第3步:編寫Job類運行MapReduce程序。在當前Eclipse工具的Hadoop環境下運行編寫好的MapReduce程序,并觀察運行過程,查看運行結果,驗證程序正確執行。

5 結論

案例主要完成Eclipse工具下編寫MapReduce程序實現微博數據的清洗工作。整個程序編寫的過程中并不需要開啟Hadoop環境,好處是節省系統資源,使程序編寫調試過程更加流暢。實際應用時,可將寫好的程序打成Jar包,啟動Hadoop平臺后,在Hadoop平臺上運行。

猜你喜歡
程序內容
內容回顧溫故知新
科學大眾(2022年11期)2022-06-21 09:20:52
內容回顧 溫故知新
科學大眾(2021年21期)2022-01-18 05:53:48
內容回顧溫故知新
科學大眾(2021年17期)2021-10-14 08:34:02
試論我國未決羈押程序的立法完善
人大建設(2019年12期)2019-05-21 02:55:44
失能的信仰——走向衰亡的民事訴訟程序
“程序猿”的生活什么樣
英國與歐盟正式啟動“離婚”程序程序
環球時報(2017-03-30)2017-03-30 06:44:45
主要內容
臺聲(2016年2期)2016-09-16 01:06:53
創衛暗訪程序有待改進
中國衛生(2015年3期)2015-11-19 02:53:32
恐怖犯罪刑事訴訟程序的完善
主站蜘蛛池模板: 久久女人网| 国产性猛交XXXX免费看| 精品国产乱码久久久久久一区二区| 欧美第二区| 欧美午夜视频在线| 亚洲欧美在线综合一区二区三区 | 67194亚洲无码| 国产精品福利一区二区久久| 亚洲欧美不卡| 亚洲综合在线最大成人| 天天做天天爱天天爽综合区| 亚洲天堂视频网| 久久久久无码国产精品不卡| 国产精品久久久久婷婷五月| 国产亚洲现在一区二区中文| 日本人真淫视频一区二区三区| 国产亚洲一区二区三区在线| 国产在线一区二区视频| 亚洲av综合网| 亚洲一区网站| 九九热这里只有国产精品| 国内老司机精品视频在线播出| 国产麻豆福利av在线播放| 久久香蕉国产线看观| 亚洲,国产,日韩,综合一区| 免费看美女自慰的网站| 中文字幕日韩久久综合影院| 精品91视频| 97视频在线精品国自产拍| 在线日韩日本国产亚洲| 亚洲第一中文字幕| 亚洲三级成人| 日本欧美在线观看| 72种姿势欧美久久久大黄蕉| 久久久久久国产精品mv| 国产一级毛片高清完整视频版| 99中文字幕亚洲一区二区| 99无码中文字幕视频| 国产人碰人摸人爱免费视频 | 国产福利拍拍拍| 高h视频在线| 国产青榴视频在线观看网站| 国产高清在线观看91精品| AV不卡在线永久免费观看| 精品无码人妻一区二区| 亚洲无码久久久久| 国产一区成人| 国产日本欧美在线观看| 午夜精品久久久久久久无码软件 | 成人国产精品网站在线看| 毛片免费高清免费| 一本色道久久88综合日韩精品| 亚洲成人在线网| 国产亚洲欧美日韩在线一区| 久久国产亚洲欧美日韩精品| 欧美a网站| 538精品在线观看| 国产精品999在线| 人妻中文久热无码丝袜| 深爱婷婷激情网| 99爱视频精品免视看| 国产在线视频二区| 国产成人久久777777| 欧美啪啪视频免码| 亚洲第一福利视频导航| 狠狠亚洲婷婷综合色香| 亚洲精品制服丝袜二区| 国产乱肥老妇精品视频| 色噜噜在线观看| 91小视频在线观看| 秋霞国产在线| 国产精品综合色区在线观看| 啦啦啦网站在线观看a毛片| 欧美成人一级| 午夜天堂视频| 91精品人妻互换| 欧美成人午夜视频| 中国一级特黄大片在线观看| 亚洲欧洲国产成人综合不卡| 国产精品私拍在线爆乳| 欧美色丁香| 亚洲人网站|