歡迎訪問我的GitHub
https://github.com/zq2599/blog_demos
內容:原創文章分類彙總及配套源碼,涉及Java、Docker、K8S、Devops等
在學習spark的過程中,除了經典的WrodCount例子(用於統計文本文件中的單詞出現次數),我們也在尋找其他海量數據來做更多實戰以提高自己,今天介紹的是一個海量數據集的下載方法,以及數據內容的簡介;
關於維基百科網站統計數據
數據的下載頁面地址:https://dumps.wikimedia.org/other/pagecounts-raw
今天要下載的數據集就是維基百科的統計數據,如下圖,有多個文件下載的連接,每個文件代表一個小時內所有wiki頁面被點擊的次數,紅框中的文件名分爲三部分,"20160801"代表統計的年月日,"030000"代表統計的是凌晨3點整到3點59分之間的頁面訪問情況:
這個網站有2007年到2016年之間的統計數據,如下圖,下載地址是:https://dumps.wikimedia.org/other/pagecounts-raw
使用迅雷的批量下載功能
這麼多數據一個一個下載會很麻煩,可以通過迅雷的批量下載功能來減少工作量;
如下圖,在一個下載文件上點擊鼠標右鍵,選擇"複製鏈接地址",即可取到此文件的下載地址:
上述文件的下載地址爲"https://dumps.wikimedia.org/other/pagecounts-raw/2016/2016-08/pagecounts-20160801-000000.gz",根據這個我們能推測出20160801這一天其他23個小時的統計文件的地址,只要把"00000"改成"01000"、"02000",找到了規律就可以用迅雷來做批量下載了;
打開迅雷軟件,如下圖操作,點擊紅框1中的加號,在彈出的窗口點擊紅框2中的"添加批量任務":
如下圖,在彈出的窗口中,將前面的url粘貼進去,然後將紅框1中的兩個"0"改成"(*)",再把紅框2中的數字改爲23,然後點擊下面的"確定"按鈕:
如下圖,在彈出的窗口中,勾選紅框中的"合併爲任務組",然後點擊下面的"立即下載"按鈕,即可開始下載:
這樣就把2016年8月1日的所有統計數據下載下來了,其他日期的數據也可以用此方法批量下載;
數據格式簡介
經過漫長等待終於將數據下載下來了,打開看看裏面內容,如下所示:
aa.b User_talk:Sevela.p 1 5786
aa.b Wikidata 1 4654
aa.b Wikiquote 1 4658
aa.b Wikiversity 1 4655
aa.d Main_Page 1 5449
aa.d Special:Log/Rschen7754 1 5589
aa.d Special:WhatLinksHere/User:Rschen7754 1 5168
aa.d User:14.99.4.25 1 4761
aa.d User:88.5.75.89 1 4760
aa.d User:95.27.0.82 1 4762
以第一行aa.b User_talk:Sevela.p 1 5786爲例,這一行由空格字符分割成了四個字段:
內容 | 意義 |
---|---|
aa.b | 項目名稱,".b"表示wikibooks |
User_talk:Sevela.p | 網頁的三級目錄 |
1 | 一小時內的訪問次數 |
5786 | 一小時內被請求的字節總數 |
上述內容可以還原爲一個網址,如下圖所示,對應的URL爲:https://aa.wikibooks.org/wiki/User_talk:Sevela.p關於"aa.b"如何映射成爲一級域名"aa.wikibooks.org",請參照這個網頁中關於"domain_code"的描述:https://wikitech.wikimedia.org/wiki/Analytics/Archive/Data/Pagecounts-raw
至此,海量數據的下載和格式介紹就全部完成了,後面的章節,我們一起用這份數據來做spark開發,演練大數據技能;
網盤下載
有讀者說下載不方便,我這裏將一部分數據傳到了百度網盤,您可以在此下載:鏈接:https://pan.baidu.com/s/1xk9RRTpCQnW_l3KWfaZ8MQ 提取碼:g05g