作業要求來自于https://edu.cnblogs.com/campus/gzcc/GZCC-16SE2/homework/3339
1.将爬蟲大作業産生的csv檔案上傳到HDFS
先将要上傳的檔案放到指定檔案夾
這裡要上傳download、new、played、reserve、sell5個表

指令 hdfs dfs -put ./*.csv 上傳csv檔案到hdfs
指令 hdfs dfs -put ./*.txt 為了後續友善這裡上傳的是txt檔案
2.對CSV檔案進行預處理生成無标題文本檔案
指令 sed -i 'id' *.csv sed用于一些簡單的文本替換 -i表示inplace edit,就地修改檔案 1d表示删除第一行
指令 head -5 *.csv 顯示csv前5行的内容
3.把hdfs中的文本檔案最終導入到資料倉庫Hive中
指令 把hdfs中的 /bigdatacase/dataset 目錄的資料加載到hive資料倉庫
CREATE
EXTERNAL
TABLE
表名(屬性
) COMMENT
'歡迎語'
ROW FORMAT DELIMITED FIELDS TERMINATED
BY
','
STORED
AS
TEXTFILE LOCATION
'/bigdatacase/dataset'
;
4.在Hive中檢視并分析資料
(1)檢視資料庫的表
根據爬取的資料,在資料庫中建立了下載下傳榜、新品榜、預約榜、熱賣榜和熱玩榜5個表
(2)查詢新品榜排行前十的遊戲,分别列出遊戲名,評分,排行
從下圖可以看出:
- 排行較前的新遊戲評分基本居高
- 新品榜前5的遊戲中有三個為6分遊戲,可以得知遊戲性一般的新遊戲在大力宣傳力度下可以短時間吸引大量玩家
- 新品榜大多為内測遊戲,這樣可以讓遊戲從制作中到公測期間不斷地吸引玩家目光
(3)查詢熱賣榜評分9分以上的遊戲數量
- 熱賣榜共有35個遊戲,獲得9分高分的遊戲有6個,高分率為17%,得知付費遊戲品質遠比免費遊戲高
(4)檢視預約榜的遊戲分類數量,分别列出分類,數量
下圖可以看出:
- 角色扮演的遊戲類型占據榜單的1/3,是現在遊戲市場的開發趨勢
- 動作遊戲和政策遊戲雖然沒有像角色扮演遊戲那樣大受期待,但不容易令玩家審美疲勞,也有很好的開發前景
- 像街機、文字、音樂、益智等遊戲類型比較不受期待,但如果開發好的話會在該遊戲類型當中獨樹一幟
(5)按評分由高到低排序檢視熱玩榜含有“政策”标簽的遊戲,分别列出遊戲名,标簽,評分
下面可以看出:
- 帶有“政策”标簽的遊戲占熱玩榜1/3,看出政策遊戲可玩性較高
- 帶有“政策”标簽的前十幾個遊戲皆有9分以上,證明政策遊戲受玩家歡迎與其遊戲的可玩性很大
(6)檢視下載下傳榜所有廠商的數量,分别列出廠商,數量
- 網易遊戲廠商的遊戲占據下載下傳榜的位置最多,有16個之多,而其他大多數廠商基本隻有1個
- 像網易遊戲,騰訊這樣的大廠商的遊戲會吸引更多玩家下載下傳
(7)查詢同時存在于下載下傳榜和熱玩榜的遊戲分類數量,分别列出分類,數量
- 比較吸引玩家的題材及可玩性高的遊戲類型是角色扮演
- 競速類、音樂類遊戲即小衆也很難有出衆的遊戲玩法
(8)查詢新品榜和預約榜的平均分,分别列出新品榜平均分,預約榜平均分
- 預約榜的平均分比新品榜的平均分要高1分,可見玩家在遊戲面世前和面世後會有一點落差
- 較少遊戲能做到面世後符合玩家的期望
(9)查詢同時存在于下載下傳榜和熱賣榜含有“單機”标簽的遊戲資訊
- 熱門的付費單機遊戲比較少隻有5個,玩家更傾向于免費的單機遊戲
- 熱門的付費單機遊戲均取得較高的評分,如果不是非常好玩不會有大量玩家選擇付費
- 心動網絡廠商在其中占據兩個位置,說明該廠商有較好能力做出熱門的付費遊戲
(10)查詢同時存在預約榜和熱賣榜的廠商,分别列出廠商,數量
- 能夠做到宣傳好、題材吸引且熱賣的廠商不多,隻有5個
- 其中心動網絡廠商的遊戲共有65,玩家想玩好玩又别出新意的遊戲可以考慮該廠商
(11)查詢在新品榜榜評分為8分以上,在下載下傳榜中的遊戲資訊,分别列出遊戲名,評分,排行
- 新品遊戲評分8分以上的同時出現在下載下傳榜的遊戲有16個,可以看出高分新遊戲在遊戲流量市場裡占比10%。
- 大多數是内測遊戲,說明内測遊戲的開放有利于提高遊戲的品質與擷取玩家的遊戲取向
- 16個遊戲之中的排名在排行榜分布均勻
5.總結
這次的資料分析主要運用到了hdfs上傳資料檔案和hive分析文本。而在資料文本處理的過程中也遇到一些困惑,下面是我總結的心得:
(1)由于在榜單上有一些遊戲評分過少,導緻該條排行無效,是以會有一個榜單的總量會少幾條。
(2)因為我的資料文本都是有效資料,不存在空值等無效資訊,是以沒有進行預處理。
(3)對于預處理的方法并不是很熟悉,隻知道sed、awk的含義,但實際應用還不熟練。
(4)關于中文亂碼問題隻要提前把檔案轉為utf8編碼即可。
總體來說操作過程都比較順利,也從sql語句的查詢當中分析到了很多資料間的關聯以及其代表的含義。