官术网_书友最值得收藏!

第2章 大數(shù)據(jù)相關(guān)技術(shù)

本章目標(biāo)

● 掌握大數(shù)據(jù)處理流程:數(shù)據(jù)采集、預(yù)處理、存儲(chǔ)、挖掘和解釋

● 掌握大數(shù)據(jù)的3種來(lái)源:核心數(shù)據(jù)、外圍數(shù)據(jù)、常規(guī)渠道數(shù)據(jù)

● 掌握大數(shù)據(jù)的主要架構(gòu)

● 掌握數(shù)據(jù)挖掘常用方法

本章簡(jiǎn)介

本章從大數(shù)據(jù)處理流程、數(shù)據(jù)來(lái)源、大數(shù)據(jù)生態(tài)圈及主要架構(gòu)、數(shù)據(jù)挖掘的主要方法幾個(gè)方面來(lái)介紹大數(shù)據(jù)的相關(guān)技術(shù)。


2.1 大數(shù)據(jù)處理流程

大數(shù)據(jù)的處理流程歸納為:首先利用多種輕型數(shù)據(jù)庫(kù)收集海量數(shù)據(jù),對(duì)不同來(lái)源的數(shù)據(jù)進(jìn)行預(yù)處理后,整合存儲(chǔ)到大型數(shù)據(jù)庫(kù)中;然后根據(jù)企業(yè)或個(gè)人目的和需求,運(yùn)用合適的數(shù)據(jù)挖掘技術(shù)提取有益的知識(shí);最后利用恰當(dāng)?shù)姆绞綄⒔Y(jié)果展現(xiàn)給終端用戶(hù)。具體包括:數(shù)據(jù)采集、數(shù)據(jù)預(yù)處理、數(shù)據(jù)存儲(chǔ)、數(shù)據(jù)挖掘及數(shù)據(jù)解釋這5個(gè)步驟,如圖2.1所示。

圖2.1 大數(shù)據(jù)的處理流程

2.1.1 數(shù)據(jù)采集

大數(shù)據(jù)的采集是大數(shù)據(jù)處理過(guò)程中的第一步,它是數(shù)據(jù)分析和挖掘的基礎(chǔ)。大數(shù)據(jù)的采集是指在確定用戶(hù)目標(biāo)的基礎(chǔ)上,對(duì)該范圍內(nèi)的所有結(jié)構(gòu)化、半結(jié)構(gòu)化、非結(jié)構(gòu)化數(shù)據(jù)進(jìn)行采集的過(guò)程。采集的數(shù)據(jù)大部分是瞬時(shí)值,還包括某時(shí)段內(nèi)的特征值。大數(shù)據(jù)的主要來(lái)源有商業(yè)數(shù)據(jù)、互聯(lián)網(wǎng)數(shù)據(jù)、傳感器數(shù)據(jù)。針對(duì)不同來(lái)源的數(shù)據(jù),具有不同的采集方法。主要的大數(shù)據(jù)采集方法有系統(tǒng)日志采集方法、網(wǎng)絡(luò)數(shù)據(jù)采集方法、其他數(shù)據(jù)采集方法。

1.系統(tǒng)日志采集方法

大多數(shù)互聯(lián)網(wǎng)企業(yè)都有自己的海量數(shù)據(jù)采集工具,常用于系統(tǒng)日志采集,如Scribe、Flume、Chukwa、Kafka等。Scribe是 Facebook開(kāi)源的日志收集系統(tǒng),能夠從各種日志源收集日志,存儲(chǔ)到一個(gè)中央存儲(chǔ)系統(tǒng)中,以便于進(jìn)行集中統(tǒng)計(jì)分析和處理;Chukwa屬于Hadoop系列產(chǎn)品,是一個(gè)大型的分布式系統(tǒng)監(jiān)測(cè)數(shù)據(jù)的收集系統(tǒng),提供了很多模塊以支持Hadoop集群分析;Flume是cloudera的開(kāi)源日志系統(tǒng),能夠有效地收集匯總和移動(dòng)大量的實(shí)時(shí)日志數(shù)據(jù)。這些工具均采用分布式架構(gòu),能滿(mǎn)足每秒數(shù)百 MB的日志數(shù)據(jù)采集和傳輸需求。

2.網(wǎng)絡(luò)數(shù)據(jù)采集方法

網(wǎng)絡(luò)數(shù)據(jù)采集是指利用互聯(lián)網(wǎng)搜索引擎技術(shù)從網(wǎng)站抓取數(shù)據(jù)信息。目前,網(wǎng)絡(luò)數(shù)據(jù)的采集基本上是利用垂直搜索引擎技術(shù)的網(wǎng)絡(luò)爬蟲(chóng)或數(shù)據(jù)采集機(jī)器人、分詞系統(tǒng)、任務(wù)與索引系統(tǒng)等技術(shù)進(jìn)行綜合運(yùn)用而完成。該方法可以將非結(jié)構(gòu)化數(shù)據(jù)從網(wǎng)頁(yè)中抽取出來(lái),將其存儲(chǔ)為統(tǒng)一的本地?cái)?shù)據(jù)文件,并以結(jié)構(gòu)化的方式存儲(chǔ)。它支持圖片、音頻、視頻等文件或附件的采集,附件與正文可以自動(dòng)關(guān)聯(lián)。除了網(wǎng)絡(luò)中包含的內(nèi)容之外,對(duì)于網(wǎng)絡(luò)流量的采集可以使用DPI或DFI等帶寬管理技術(shù)進(jìn)行處理。

3.其他數(shù)據(jù)采集方法

對(duì)于企業(yè)生產(chǎn)經(jīng)營(yíng)數(shù)據(jù)或?qū)W科研究數(shù)據(jù)等保密性要求較高的數(shù)據(jù),可以通過(guò)與企業(yè)或研究機(jī)構(gòu)合作,使用特定系統(tǒng)接口等相關(guān)方式采集數(shù)據(jù)。

在大數(shù)據(jù)的采集過(guò)程中,同一網(wǎng)站同一時(shí)間可能會(huì)有很多用戶(hù)訪(fǎng)問(wèn)和操作。例如,火車(chē)票售票網(wǎng)站和淘寶,它們并發(fā)的訪(fǎng)問(wèn)量在峰值時(shí)超過(guò)了上百萬(wàn),并發(fā)數(shù)十分高。因此,需要在采集端部署大量數(shù)據(jù)庫(kù)才能支撐。

2.1.2 數(shù)據(jù)預(yù)處理

由于第一步收集得到的數(shù)據(jù)是原始數(shù)據(jù),存在著不完整、不一致的問(wèn)題,無(wú)法直接存儲(chǔ)到數(shù)據(jù)庫(kù)中進(jìn)行數(shù)據(jù)挖掘。因此,在將來(lái)自前端的數(shù)據(jù)導(dǎo)入一個(gè)集中的大型數(shù)據(jù)庫(kù)或者分布式存儲(chǔ)集群前,需要對(duì)大數(shù)據(jù)進(jìn)行預(yù)處理,這樣不但能夠節(jié)約大量的空間和時(shí)間,還能得到更好的數(shù)據(jù)挖掘結(jié)果。大數(shù)據(jù)預(yù)處理包括對(duì)數(shù)據(jù)進(jìn)行清理、集成、變換和歸約4個(gè)過(guò)程。

1.?dāng)?shù)據(jù)清理

數(shù)據(jù)清理是數(shù)據(jù)準(zhǔn)備過(guò)程中最乏味也是最關(guān)鍵的一步。其目的是填補(bǔ)缺失的數(shù)據(jù)、平滑噪聲數(shù)據(jù)、刪除冗余數(shù)據(jù)、糾正錯(cuò)誤數(shù)據(jù)、清除異常數(shù)據(jù),將原始的數(shù)據(jù)格式進(jìn)行標(biāo)準(zhǔn)化。

2.?dāng)?shù)據(jù)集成

數(shù)據(jù)集成是將多個(gè)數(shù)據(jù)源中的數(shù)據(jù)結(jié)合起來(lái)并統(tǒng)一存儲(chǔ),建立數(shù)據(jù)倉(cāng)庫(kù),以更好地解決數(shù)據(jù)的分布性和異構(gòu)性問(wèn)題。數(shù)據(jù)集成技術(shù)的關(guān)鍵是數(shù)據(jù)高速緩存器。擁有一個(gè)包含目標(biāo)計(jì)劃、源—目標(biāo)映射、數(shù)據(jù)獲取、分級(jí)抽取、錯(cuò)誤恢復(fù)和安全性轉(zhuǎn)換的數(shù)據(jù)高速緩存器,可以大大減少直接訪(fǎng)問(wèn)后端系統(tǒng)和進(jìn)行復(fù)雜實(shí)時(shí)集成的需求。

3.?dāng)?shù)據(jù)變換

數(shù)據(jù)變換是采用線(xiàn)性或非線(xiàn)性的數(shù)學(xué)變換方法將多維數(shù)據(jù)壓縮成較少維數(shù)的數(shù)據(jù),消除它們?cè)跁r(shí)間、空間、屬性、精度等特征表現(xiàn)方面的差異。數(shù)據(jù)變換可用相當(dāng)少的變量捕獲原始數(shù)據(jù)的最大變化,具體變換方法的選擇可根據(jù)實(shí)際數(shù)據(jù)的屬性特點(diǎn)而定,常見(jiàn)的數(shù)據(jù)變換方法有數(shù)據(jù)平滑、數(shù)據(jù)聚焦、數(shù)據(jù)規(guī)范化等。

4.?dāng)?shù)據(jù)歸約

數(shù)據(jù)歸約是指在對(duì)數(shù)據(jù)挖掘任務(wù)和數(shù)據(jù)本身內(nèi)容理解的基礎(chǔ)上尋找依賴(lài)于發(fā)現(xiàn)目標(biāo)的數(shù)據(jù)的有用特征,以縮減數(shù)據(jù)規(guī)模,從而在盡可能保持?jǐn)?shù)據(jù)原貌的前提下,最大限度地精簡(jiǎn)數(shù)據(jù)量。數(shù)據(jù)歸約主要有兩個(gè)途徑:屬性選擇和數(shù)據(jù)采樣,分別針對(duì)原始數(shù)據(jù)集中的屬性和記錄。數(shù)據(jù)歸約技術(shù)可以用來(lái)得到數(shù)據(jù)集的歸約表示,它雖然小,但仍然大致保持原始數(shù)據(jù)的完整性。這樣,在歸約后的數(shù)據(jù)集上挖掘?qū)⒏行Вa(chǎn)生相同(或幾乎相同)的分析結(jié)果。數(shù)據(jù)歸約的類(lèi)型主要有特征歸約、樣本歸約和特征值歸約。

2.1.3 數(shù)據(jù)存儲(chǔ)

大數(shù)據(jù)種類(lèi)繁多,數(shù)據(jù)結(jié)構(gòu)化程度不同,傳統(tǒng)的結(jié)構(gòu)化數(shù)據(jù)庫(kù)無(wú)法適應(yīng)大數(shù)據(jù)的存儲(chǔ)要求。下面介紹3種典型的大數(shù)據(jù)存儲(chǔ)方案:分布式文件系統(tǒng)、分布式數(shù)據(jù)庫(kù)和云存儲(chǔ)。

1.分布式文件系統(tǒng)

分布式文件系統(tǒng)是指文件系統(tǒng)管理的物理存儲(chǔ)資源不一定直接連接在本地節(jié)點(diǎn)上,而是通過(guò)計(jì)算機(jī)網(wǎng)絡(luò)與節(jié)點(diǎn)相連,眾多的節(jié)點(diǎn)組成一個(gè)文件系統(tǒng)網(wǎng)絡(luò);每個(gè)節(jié)點(diǎn)可以分布在不同的地點(diǎn),通過(guò)網(wǎng)絡(luò)進(jìn)行節(jié)點(diǎn)間的通信和數(shù)據(jù)傳輸。常見(jiàn)的分布式文件系統(tǒng)有 GFS、HDFS、Lustre、Ceph等,它們各自適用于不同的領(lǐng)域,其中 GFS和HDFS最具有代表性。GFS是Google公司設(shè)計(jì)的專(zhuān)用文件系統(tǒng),主要用于存儲(chǔ)海量搜索數(shù)據(jù),處理大文件。HDFS是Hadoop分布式文件系統(tǒng),它是一種被設(shè)計(jì)成適合運(yùn)行在通用硬件上的分布式文件系統(tǒng),具有高容錯(cuò)性的特點(diǎn)。

2.分布式數(shù)據(jù)庫(kù)

分布式數(shù)據(jù)庫(kù)是利用網(wǎng)絡(luò)將物理上分布的多個(gè)數(shù)據(jù)存儲(chǔ)單元連接起來(lái)組成的邏輯數(shù)據(jù)庫(kù),其基本思想是將集中式數(shù)據(jù)庫(kù)中的數(shù)據(jù),分散存儲(chǔ)到多個(gè)數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)上,并通過(guò)網(wǎng)絡(luò)節(jié)點(diǎn)連接起來(lái),以獲取更大的存儲(chǔ)容量和更高的并發(fā)訪(fǎng)問(wèn)量。與傳統(tǒng)的集中式數(shù)據(jù)庫(kù)相比較,分布式數(shù)據(jù)庫(kù)具有高擴(kuò)展性、高并發(fā)性、高可用性以及更高的數(shù)據(jù)訪(fǎng)問(wèn)速度。近年來(lái),隨著數(shù)據(jù)量的高速增長(zhǎng),傳統(tǒng)的關(guān)系型數(shù)據(jù)庫(kù)開(kāi)始從集中式模型向分布式架構(gòu)發(fā)展,從集中式存儲(chǔ)走向分布式存儲(chǔ),從集中式計(jì)算走向分布式計(jì)算。

3.云存儲(chǔ)

云存儲(chǔ)是一種以數(shù)據(jù)存儲(chǔ)和管理為核心的云計(jì)算系統(tǒng),它是指利用集群應(yīng)用、分布式文件和網(wǎng)絡(luò)技術(shù)系統(tǒng)等功能,通過(guò)應(yīng)用軟件協(xié)同網(wǎng)絡(luò)中大量的各種不同類(lèi)型的存儲(chǔ)設(shè)備,共同建設(shè)一個(gè)具有數(shù)據(jù)存儲(chǔ)和業(yè)務(wù)訪(fǎng)問(wèn)功能的系統(tǒng),以保證數(shù)據(jù)的安全性,節(jié)約存儲(chǔ)空間。互聯(lián)網(wǎng)技術(shù)的發(fā)展是實(shí)現(xiàn)云存儲(chǔ)的基本條件。通過(guò)互聯(lián)網(wǎng)技術(shù),云存儲(chǔ)才能實(shí)現(xiàn)數(shù)據(jù)、文檔、圖片、音頻、視頻等內(nèi)容的存儲(chǔ)和共享。云存儲(chǔ)系統(tǒng)結(jié)構(gòu)主要由存儲(chǔ)層、基礎(chǔ)管理層、應(yīng)用接口層、訪(fǎng)問(wèn)層4個(gè)部分構(gòu)成。

2.1.4 數(shù)據(jù)挖掘

數(shù)據(jù)挖掘是指根據(jù)業(yè)務(wù)的需求和目的,運(yùn)用合適的工具軟件和數(shù)據(jù)挖掘方法對(duì)數(shù)據(jù)倉(cāng)庫(kù)中的數(shù)據(jù)信息進(jìn)行處理,尋找出特定的數(shù)據(jù)規(guī)律或數(shù)據(jù)模式,得出有價(jià)值的信息和知識(shí)。根據(jù)信息存儲(chǔ)格式,可以把數(shù)據(jù)挖掘的對(duì)象分為關(guān)系數(shù)據(jù)庫(kù)、面向?qū)ο髷?shù)據(jù)庫(kù)、數(shù)據(jù)倉(cāng)庫(kù)、文本數(shù)據(jù)源、多媒體數(shù)據(jù)庫(kù)、空間數(shù)據(jù)庫(kù)、時(shí)態(tài)數(shù)據(jù)庫(kù)、異質(zhì)數(shù)據(jù)庫(kù)以及Internet等。數(shù)據(jù)挖掘常用的工具軟件有:Intelligent Miner、SPSS、SAS、WEKA、Matlab、R語(yǔ)言、Python等。數(shù)據(jù)挖掘的任務(wù)是從數(shù)據(jù)中發(fā)現(xiàn)模式,按照數(shù)據(jù)挖掘的實(shí)際作用數(shù)據(jù)挖掘任務(wù)可分為關(guān)聯(lián)分析、聚類(lèi)分析、分類(lèi)、回歸、預(yù)測(cè)、序列和偏差分析。

2.1.5 數(shù)據(jù)解釋

數(shù)據(jù)解釋是一個(gè)面向用戶(hù)的過(guò)程,它是指將大數(shù)據(jù)挖掘及分析結(jié)果在顯示終端以友好、形象、易于理解的形式呈現(xiàn)給用戶(hù)。傳統(tǒng)的數(shù)據(jù)解釋方法是以文本形式輸出結(jié)果或者直接在電腦終端上顯示結(jié)果。大數(shù)據(jù)分析的結(jié)果一般是數(shù)據(jù)量巨大且關(guān)系復(fù)雜的結(jié)果,傳統(tǒng)的分析結(jié)果展示方法已基本不可行。現(xiàn)階段,主要是利用可視化技術(shù)、人機(jī)交互、數(shù)據(jù)起源等新的方法將結(jié)果展示給用戶(hù),幫助用戶(hù)更加清晰地了解數(shù)據(jù)處理后的結(jié)果,為用戶(hù)提供決策信息的支持。目前,大部分企業(yè)已經(jīng)引進(jìn)數(shù)據(jù)可視化技術(shù)和人機(jī)交互技術(shù)。

1.?dāng)?shù)據(jù)可視化技術(shù)

數(shù)據(jù)可視化技術(shù)主要是通過(guò)圖形化方法進(jìn)行清晰、有效的數(shù)據(jù)傳遞。其基本思想是使用單個(gè)圖元元素表示數(shù)據(jù)庫(kù)中的每一個(gè)數(shù)據(jù)項(xiàng),大量的數(shù)據(jù)集組成數(shù)據(jù)圖像,并以多維數(shù)據(jù)的形式表示數(shù)據(jù)的各個(gè)屬性值。運(yùn)用可視化技術(shù)就可以將數(shù)據(jù)結(jié)果轉(zhuǎn)化為靜態(tài)或者動(dòng)態(tài)的圖形展示給用戶(hù),通過(guò)交互手段抽取或者集成數(shù)據(jù)能在畫(huà)面中動(dòng)態(tài)地顯示改變的結(jié)果。這樣,用戶(hù)就可以從不同的維度觀察數(shù)據(jù),對(duì)數(shù)據(jù)進(jìn)行更深入的觀察和分析。可視化技術(shù)可以分為5類(lèi),包括幾何技術(shù)、圖標(biāo)技術(shù)、圖形技術(shù)、分層技術(shù)、混合技術(shù)。基于不同的需求可以采取不同的可視化技術(shù),也可以通過(guò)多種技術(shù)手段來(lái)展示數(shù)據(jù)處理結(jié)果。例如,電力網(wǎng)絡(luò)中電力的傳輸,為直觀地反映各個(gè)城市的電力需求狀況,可以利用基于圖標(biāo)技術(shù),用不同的顏色標(biāo)明圖中各個(gè)城市的電力負(fù)載情況。

2.人機(jī)交互技術(shù)

人機(jī)交互技術(shù)是指通過(guò)系統(tǒng)輸入、輸出設(shè)備,以有效的方式實(shí)現(xiàn)人與系統(tǒng)之間信息交換的技術(shù)。其中,系統(tǒng)可以是各類(lèi)機(jī)器、計(jì)算機(jī)和軟件。用戶(hù)界面或人機(jī)界面是人機(jī)交互所依托的介質(zhì)和對(duì)話(huà)接口,通常包括硬件和軟件系統(tǒng)。人機(jī)交互技術(shù)是一種雙向的信息傳遞過(guò)程,既可以由用戶(hù)向系統(tǒng)輸入信息,也可以由系統(tǒng)向用戶(hù)反饋信息。通過(guò)人機(jī)交互技術(shù),用戶(hù)只需要通過(guò)輸入設(shè)備給系統(tǒng)輸入有關(guān)信息、提示、請(qǐng)示等,系統(tǒng)就會(huì)輸出或通過(guò)顯示設(shè)備提供相關(guān)信息、回答問(wèn)題等。人機(jī)交互技術(shù)能夠使得大數(shù)據(jù)分析的數(shù)據(jù)結(jié)果更好地被解釋給用戶(hù)。這種交互式的數(shù)據(jù)分析過(guò)程可以引導(dǎo)用戶(hù)逐步地進(jìn)行分析,使得用戶(hù)在得到結(jié)果的同時(shí)能夠更好地理解分析結(jié)果的由來(lái)。與此類(lèi)似的還有數(shù)據(jù)起源技術(shù),通過(guò)該技術(shù)可以幫助用戶(hù)追溯整個(gè)數(shù)據(jù)分析的過(guò)程,從而有助于用戶(hù)理解結(jié)果。

主站蜘蛛池模板: 平顺县| 南汇区| 准格尔旗| 左云县| 天镇县| 土默特右旗| 绥中县| 鹿泉市| 奉新县| 和平县| 广平县| 长阳| 石景山区| 柘荣县| 来凤县| 云阳县| 西华县| 高青县| 锡林浩特市| 天台县| 富民县| 津市市| 资阳市| 建阳市| 平乡县| 武汉市| 翁牛特旗| 通山县| 崇礼县| 柘城县| 武清区| 龙海市| 磐石市| 蓬安县| 曲周县| 若羌县| 望江县| 夹江县| 海伦市| 和平县| 陕西省|