一文匯總大數(shù)據(jù)四大方面十五大關鍵技術
近年來,大數(shù)據(jù)來勢洶洶,滲透到各行各業(yè),帶來了一場翻天覆地的變革。讓人們越發(fā)認識到,比掌握龐大的數(shù)據(jù)信息更重要的是掌握對含有意義的數(shù)據(jù)進行專業(yè)化處理的技術。
大數(shù)據(jù)關鍵技術涵蓋從數(shù)據(jù)存儲、處理、應用等多方面的技術,根據(jù)大數(shù)據(jù)的處理過程,可將其分為大數(shù)據(jù)采集、大數(shù)據(jù)預處理、大數(shù)據(jù)存儲及管理、大數(shù)據(jù)分析及挖掘等環(huán)節(jié)。
本文針對大數(shù)據(jù)的關鍵技術進行梳理,以饗讀者。
Part 1.大數(shù)據(jù)采集
數(shù)據(jù)采集是大數(shù)據(jù)生命周期的第一個環(huán)節(jié),它通過RFID射頻數(shù)據(jù)、傳感器數(shù)據(jù)、社交網(wǎng)絡數(shù)據(jù)、移動互聯(lián)網(wǎng)數(shù)據(jù)等方式獲得各種類型的結構化、半結構化及非結構化的海量數(shù)據(jù)。由于可能有成千上萬的用戶同時進行并發(fā)訪問和操作,因此,必須采用專門針對大數(shù)據(jù)的采集方法,其主要包括以下三種:
A.數(shù)據(jù)庫采集
一些企業(yè)會使用傳統(tǒng)的關系型數(shù)據(jù)庫MySQL和Oracle等來存儲數(shù)據(jù)。談到比較多的工具有Sqoop和結構化數(shù)據(jù)庫間的ETL工具,當然當前對于開源的Kettle和Talend本身也集成了大數(shù)據(jù)集成內容,可以實現(xiàn)和hdfs,hbase和主流Nosq數(shù)據(jù)庫之間的數(shù)據(jù)同步和集成。
B.網(wǎng)絡數(shù)據(jù)采集
網(wǎng)絡數(shù)據(jù)采集主要是借助網(wǎng)絡爬蟲或網(wǎng)站公開API等方式,從網(wǎng)站上獲取數(shù)據(jù)信息的過程。通過這種途徑可將網(wǎng)絡上非結構化數(shù)據(jù)、半結構化數(shù)據(jù)從網(wǎng)頁中提取出來,并以結構化的方式將其存儲為統(tǒng)一的本地數(shù)據(jù)文件。
C.文件采集
對于文件的采集,談的比較多的還是flume進行實時的文件采集和處理,當然對于ELK(ElasTIcsearch、Logstash、Kibana三者的組合)雖然是處理日志,但是也有基于模板配置的完整增量實時文件采集實現(xiàn)。如果是僅僅是做日志的采集和分析,那么用ELK解決方案就完全夠用的。
Part 2.大數(shù)據(jù)預處理
數(shù)據(jù)的世界是龐大而復雜的,也會有殘缺的,有虛假的,有過時的。想要獲得高質量的分析挖掘結果,就必須在數(shù)據(jù)準備階段提高數(shù)據(jù)的質量。大數(shù)據(jù)預處理可以對采集到的原始數(shù)據(jù)進行清洗、填補、平滑、合并、規(guī)格化以及檢查一致性等,將那些雜亂無章的數(shù)據(jù)轉化為相對單一且便于處理的構型,為后期的數(shù)據(jù)分析奠定基礎。數(shù)據(jù)預處理主要包括:數(shù)據(jù)清理、數(shù)據(jù)集成、數(shù)據(jù)轉換以及數(shù)據(jù)規(guī)約四大部分。
A.數(shù)據(jù)清理
數(shù)據(jù)清理主要包含遺漏值處理(缺少感興趣的屬性)、噪音數(shù)據(jù)處理(數(shù)據(jù)中存在著錯誤、或偏離期望值的數(shù)據(jù))、不一致數(shù)據(jù)處理。主要的清洗工具是ETL(ExtracTIon/TransformaTIon/Loading)和Potter’s Wheel。
遺漏數(shù)據(jù)可用全局常量、屬性均值、可能值填充或者直接忽略該數(shù)據(jù)等方法處理;噪音數(shù)據(jù)可用分箱(對原始數(shù)據(jù)進行分組,然后對每一組內的數(shù)據(jù)進行平滑處理)、聚類、計算機人工檢查和回歸等方法去除噪音;對于不一致數(shù)據(jù)則可進行手動更正。
B.數(shù)據(jù)集成
數(shù)據(jù)集成是指將多個數(shù)據(jù)源中的數(shù)據(jù)合并存放到一個一致的數(shù)據(jù)存儲庫中。這一過程著重要解決三個問題:模式匹配、數(shù)據(jù)冗余、數(shù)據(jù)值沖突檢測與處理。
來自多個數(shù)據(jù)集合的數(shù)據(jù)會因為命名的差異導致對應的實體名稱不同,通常涉及實體識別需要利用元數(shù)據(jù)來進行區(qū)分,對來源不同的實體進行匹配。數(shù)據(jù)冗余可能來源于數(shù)據(jù)屬性命名的不一致,在解決過程中對于數(shù)值屬性可以利用皮爾遜積矩Ra,b來衡量,絕對值越大表明兩者之間相關性越強。數(shù)據(jù)值沖突問題,主要表現(xiàn)為來源不同的統(tǒng)一實體具有不同的數(shù)據(jù)值。
C.數(shù)據(jù)變換
數(shù)據(jù)轉換就是處理抽取上來的數(shù)據(jù)中存在的不一致的過程。數(shù)據(jù)轉換一般包括兩類:
第一類,數(shù)據(jù)名稱及格式的統(tǒng)一,即數(shù)據(jù)粒度轉換、商務規(guī)則計算以及統(tǒng)一的命名、數(shù)據(jù)格式、計量單位等;第二類,數(shù)據(jù)倉庫中存在源數(shù)據(jù)庫中可能不存在的數(shù)據(jù),因此需要進行字段的組合、分割或計算。數(shù)據(jù)轉換實際上還包含了數(shù)據(jù)清洗的工作,需要根據(jù)業(yè)務規(guī)則對異常數(shù)據(jù)進行清洗,保證后續(xù)分析結果的準確性。
D. 數(shù)據(jù)規(guī)約
數(shù)據(jù)歸約是指在盡可能保持數(shù)據(jù)原貌的前提下,最大限度地精簡數(shù)據(jù)量,主要包括:數(shù)據(jù)方聚集、維規(guī)約、數(shù)據(jù)壓縮、數(shù)值規(guī)約和概念分層等。數(shù)據(jù)規(guī)約技術可以用來得到數(shù)據(jù)集的規(guī)約表示,使得數(shù)據(jù)集變小,但同時仍然近于保持原數(shù)據(jù)的完整性。也就是說,在規(guī)約后的數(shù)據(jù)集上進行挖掘,依然能夠得到與使用原數(shù)據(jù)集近乎相同的分析結果。





