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
恐怖犯罪刑事訴訟程序的完善
主站蜘蛛池模板: 欧洲熟妇精品视频| 日韩精品免费一线在线观看| 免费播放毛片| 小说 亚洲 无码 精品| 亚洲第一成人在线| 黄色网在线| 免费播放毛片| 免费全部高H视频无码无遮掩| 天天摸夜夜操| 91无码国产视频| 国产成人乱无码视频| 一本色道久久88| 国产精品免费电影| 欧美激情视频二区三区| 久久精品66| 亚洲九九视频| 亚洲精品无码不卡在线播放| 国产幂在线无码精品| 宅男噜噜噜66国产在线观看| 国产精品一区在线观看你懂的| 国产精品一区二区不卡的视频| 国产91透明丝袜美腿在线| a毛片免费观看| 久久男人资源站| 欧美不卡视频一区发布| 中国精品久久| 婷婷色中文网| 三上悠亚一区二区| 免费国产福利| 伊人精品视频免费在线| 天堂网亚洲综合在线| 色婷婷成人网| 精品伊人久久久香线蕉 | 欧美一区二区人人喊爽| 小说 亚洲 无码 精品| 亚洲侵犯无码网址在线观看| 久久国产亚洲偷自| 2020久久国产综合精品swag| 五月天香蕉视频国产亚| 蜜臀av性久久久久蜜臀aⅴ麻豆| 九九视频免费看| 丁香亚洲综合五月天婷婷| 国产成人在线小视频| 国产美女在线观看| 久久亚洲精少妇毛片午夜无码| 永久成人无码激情视频免费| 欧美精品高清| 666精品国产精品亚洲| 成年免费在线观看| 一区二区无码在线视频| 欧洲亚洲欧美国产日本高清| 黄色网页在线播放| 亚洲日本中文综合在线| 精品国产女同疯狂摩擦2| 四虎综合网| 亚洲精品国偷自产在线91正片| 9966国产精品视频| 久久国产精品嫖妓| 最新国语自产精品视频在| 亚洲午夜18| 精品国产亚洲人成在线| 激情综合图区| 九色国产在线| 亚洲欧美在线精品一区二区| 无码福利视频| 久青草网站| 午夜精品一区二区蜜桃| 18禁高潮出水呻吟娇喘蜜芽| 国产黄色免费看| 色偷偷男人的天堂亚洲av| 精品小视频在线观看| 国产精品永久不卡免费视频| 亚洲精品欧美重口| 91伊人国产| 极品国产在线| 尤物亚洲最大AV无码网站| 国产经典免费播放视频| 手机精品视频在线观看免费| 四虎永久在线| 免费人欧美成又黄又爽的视频| 欧美特黄一级大黄录像| 黄色网在线|