數據整理是數據分析過程中最重要的環節,在大數據分析過程中也是如此。在小數據時代,數據整理包括數據清洗、數據轉換、分類編碼和數字編碼,其中數據清洗占據了最重要的位置,即檢查數據壹致性和處理無效值和缺失值。在大數據時代,這些任務被弱化了。在大數據的壹些算法和應用中,基本不再進行數據清洗,因為大數據的多樣化使得其數據。有些不準確。但是仍然需要數據轉換和編碼的過程。下面以大數據分析中的文本分類為例來分析大數據整理的過程。
本例中使用mahout作為大數據分析軟件,文本分類算法為new bayes,分類對象為不同類別的新聞數據。
當我們使用壹個網絡爬蟲每小時從多個不同的新聞網站連續獲取數據時,獲取的數據都是文本數據,也就是非結構化數據。這些數據不需要清洗,但是在進入mahout實現的樸素貝葉斯算法時需要進行轉換。轉換主要分為兩步:
1.數據序列化
由於大量的文本數據集,每個新聞條目占壹個文檔,小文件不計其數。因為Mahout運行在Hadoop的HDFS上,所以HDFS是為大文件設計的。如果我們把這些無限多的小文件都復制過來,是非常不合適的。想象壹下:假設1000萬篇新聞文章被分類,妳要復制1000w個文件嗎?這將使HDFS的終端運行名稱節點崩潰。
因此,Mahout采用SequenceFile作為其基本的數據交換格式。其思路是:通過調用mahout內置的解析器掃描所有目錄和文件,將每個文件變成單行文本,從目錄名開始,後面是文檔中的所有單詞,從而將無限個小文件轉換成壹個序列化的大文件。然後把這個大文件上傳到HDFS,就可以充分發揮HDFS分布式文件系統的優勢了。當然,這個轉換過程是由mahout內置的工具完成的,而這個時候大數據分析師只需要把所有的新聞放到文件夾裏,運行mahout內置的解析器命令就可以了。
2.文本內容的矢量化
簡單來說,就是將文本內容中的每壹個單詞(去掉壹些連詞後)轉換成數據,用復雜的術語來說,就是向量空間建模(VSM)。這個過程讓每個單詞都有了壹個數字,這個數字就是它在文檔向量中的維數。當這項工作在mahout中實現後,大數據分析師只需執行其中壹個命令,就可以輕松實現文本內容的矢量化。
有了這些矢量化的數據和mahout的樸素貝葉斯算法,我們就可以為計算機訓練壹套規則,根據這套規則,機器就可以對後期收集的新聞數據進行自動分類。
從上述文本分類的大數據排序過程可以看出,大數據時代的數據排序過程不再強調數據的準確性,而是強調非結構化數據的量化。當然,不同的大數據分析應用使用的算法不同,其數據整理流程也不盡相同,但總體來看,大數據分析的數據整理不同於小數據時代的準確性,變得更加廣泛。
以上是邊肖為大家分享的大數據分析的流程分析。更多信息可以關註環球常春藤分享更多幹貨。