天天看點

Hadoop綜合大作業

作業要求來自:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE2/homework/3339

一、配置前置條件

1.将爬蟲大作業産生的csv檔案上傳到LINUX

  首先把收集到的資料所生成的csv檔案上傳到裝有MySQL、Hive以及Hadooplinux系

  

Hadoop綜合大作業

2.對CSV檔案進行預處理生成無标題文本檔案

  利用sed指令删除标題

Hadoop綜合大作業

3.把hdfs中的文本檔案最終導入到資料倉庫Hive中

先啟動mysql

Hadoop綜合大作業

後檢視上傳到hdfs 的檔案

Hadoop綜合大作業

PS:在爬蟲大作業期間爬取了大量彈幕資料,儲存了兩個csv檔案,一個bilibiliPD是處理後的有合并排序,另一個yuyao檔案是沒有經過處理的如下:(将會在資料分析中使用,上傳到hadoop以及之前的步驟與上一緻)

Hadoop綜合大作業

二.在Hive中檢視并分析資料

  •   建立與hdfs 對應的資料庫表
    Hadoop綜合大作業
    Hadoop綜合大作業
  1.  查詢該系列劇集的全部彈幕資料排行,sql指令如下: select * form bdlab.test6 order by count desc limit 10;

    這條查詢對應的彈幕可以讀出該劇的劇情大概是有古風的動漫,像是護眼,卧槽等詞的高頻出現是能夠說明該劇實在雷人,切作畫風格不受人喜愛。

    

Hadoop綜合大作業

   2.  查詢關鍵集的彈幕資料進行對比:

    相關語句:select * from bdlab.testi where e_index like '%劇場版%' order by count desc limit 20;

          select * from bdlab.testi where e_index = ‘《狐妖小紅娘》第一話’ order by count desc limit 20;

  在該劇中比較重要的集數就是第一話與劇場版。彈幕數量在普通的單元集中實時彈幕是最多3000條,而劇場版中是8000條,在過濾、篩選了大部分資料後得出也就一半左右的有效資料。

  在另一個bilibiliPD的總彈幕統計中大多是人名為,從第一集中看也是确實是人名較多,至于打招呼的詞語也是較多。

  在劇場版中大多是些劇場版中的關鍵詞。劇場版是普通單元集的合集,即是炒冷飯。這與一個道理相符,愛炒冷飯的都是些硬核粉,核心粉。這是一部。。。(不想描述愛情片)。導緻這些人都隻會關注人物的本身,情情愛愛的事情估摸着就是人物刻畫足夠深刻才能夠吸引更多的粉絲。在該劇中能夠看出人物刻畫受大衆所信仰,整個系列都是奔着人設去的。

  随機抽取了20集以及56集都是除了該單元劇中的重要劇情以外都是人物的名稱刷榜了。

Hadoop綜合大作業
Hadoop綜合大作業
Hadoop綜合大作業
Hadoop綜合大作業

    總結:

  本次大作業使用了python爬蟲程式設計,搭建了hadoop分布式檔案系統,最後使用了Hive。在Hive利用HDFS存儲資料,利用MapReduce查詢資料實作大量資料的操作。

  通過這次大作業練習運用了python爬取網頁上的内容,熟練地運用hadoop分布式系統。在使用hive處理資料的時候,有明顯地感覺到與普通sql的查詢是有不同。輸入sql查詢語句會有MapReduce的處理過程。

Hadoop綜合大作業

    關于處理彈幕的時候,能夠清晰地發現彈幕文化是娛樂文化。在禁用詞表中禁用的詞語本人隻禁用了一些通用的語氣詞和大量出現的無用詞組,發現在處理後的彈幕中還是隻是對人物進行描述,而沒有其他令人印象深刻的描述。

   在對應單元集中的彈幕是有對該集有概括性的彈幕,但是沒有有意思的詞成為高頻詞。作為一部超過80集的動漫來說,讓一些僅僅刷無聊的梗成為高頻詞還是有點可惜。沒有像一些百萬播放數的短視訊那樣有肉眼可見的高頻詞。

   是彈幕文化隻是一種無聊的吐槽,還是愛好聚集的地方。還是需要更多的資料分析。