1、爬蟲抓取網路資料
nutch爬蟲的主要作用是從網路上抓取網頁資料並建立索引。我們只需指定**的頂級**,如taobao.com,爬蟲可以自動探測出頁面內容裡新的**,從而進一步抓取鏈結網頁資料。nutch支援把抓取的資料轉化成文字,如(pdf、word、excel、html、xml等形式)轉換成純文字字元。
$ hadoop fs -put urldir urldir
注:第乙個urldir為本地資料夾,存放了url資料檔案,每行乙個url位址
第二個urldir為hdfs的儲存路徑。
$ bin/nutch crawlurldir –dir crawl -depth 3 –topn 10
命令成功執行後,會在hdfs中生成crawl目錄。
2、mapreduce預處理資料
常用的文字預處理演算法是tf-idf,其主要思想是,如果某個詞或短語在一篇文章中出現的頻率高,並且在其他文章中很少出現,則認為此詞或者短語具有很好的類別區分能力,適合用來做分類。
againit seems that cocoa delivered……
hadoop jar $jar sparsevectorsfromsequencefiles……
9219:0.246 453:0.098 10322:0.21 11947:0.272 ……
每一列是詞及其權重,使用冒號分隔,例如「9219:0.246」表示編號為9219的詞,對應原始單詞為「again」,其權重值為0.246。
3、mahout資料探勘
預處理後的資料就可以用來做資料探勘。mahout是乙個很強大的資料探勘工具,是分布式機器學習演算法的集合,包括:協同過濾、分類、聚類等。
以lda演算法為例,它可以將文件集中每篇文件的主題按照概率分布的形式給出。它是一種無監督學習演算法,在訓練時不需要手工標註主題,需要的僅僅是指定主題的數量k。此外lda的另乙個優點則是,對於每乙個主題均可找出一些詞語來描述它。
9219:0.246 453:0.098 ……
mahout cvb –k 20……
topic1
topic2
4、sqoop匯出到關聯式資料庫
在某些場景下,需要把資料探勘的結果匯出到關聯式資料庫,用於及時響應外部應用查詢。
sqoop是乙個用來把hadoop和關係型資料庫中的資料相互轉移的工具,可以將乙個關係型資料庫(例如:mysql ,oracle 等)中的資料匯入到hadoop的hdfs中,也可以將hdfs的資料匯出到關係型資料庫中:
sqoop export –connect jdbc:mysql://localhost:3306/zxtest –username root–password root –table result_test –export-dir /user/mr/lda/out
export操作實現把hdfs目錄/user/mr/lda/out下資料匯出到mysql的result_test表。
一分鐘了解網際網路資料探勘流程
1 爬蟲抓取網路資料 nutch爬蟲的主要作用是從網路上抓取網頁資料並建立索引。我們只需指定 的頂級 如taobao.com,爬蟲可以自動探測出頁面內容裡新的 從而進一步抓取鏈結網頁資料。nutch支援把抓取的資料轉化成文字,如 pdf word excel html xml等形式 轉換成純文字字元...
一分鐘了解網際網路動靜分離架構
58沈劍 架構師之路 靜態頁面,是指網際網路架構中,幾乎不變的頁面 或者變化頻率很低 例如 靜態頁面,有與之匹配的技術架構來加速,例如 動態頁面,是指網際網路架構中,不同使用者不同場景訪問,都不一樣的頁面,例如 商品列表頁 速運個人訂單中心頁 這些頁面,不同使用者,不同場景訪問,大都會動態生成不同的...
一分鐘之內 網際網路發生了什麼?
qmee最近製作了一張資訊圖,向我們展示一分鐘之內網際網路的變化,比如,發了多少微博 看了多少 打了多少分鐘的skype 註冊了多少網域名稱。資訊圖的資料來自pc mag business insider及其它 現在,親人和朋友們每分鐘用skype通話140萬分鐘,一年前為37萬分鐘。但facebo...