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