大數(shù)據(jù)的數(shù)據(jù)從何而來?
在現(xiàn)在社會上的企業(yè)中,最常見的數(shù)據(jù)搜集方法就是個人設(shè)備上的信息采集。這其中可能會涉及到一些個人隱私的泄露,也可能沒有。不過這不是今天討論的主題,今天我主要給大家解答一下——大數(shù)據(jù)處理的數(shù)據(jù)從何而來?在現(xiàn)在的數(shù)據(jù)技術(shù)時代中,數(shù)據(jù)有著不可替代的地位,拋開數(shù)據(jù)談大數(shù)據(jù)服務(wù)就是瞎扯,沒有數(shù)據(jù)做支撐的大數(shù)據(jù)平臺就是一個空殼。數(shù)據(jù)是一切數(shù)據(jù)分析、數(shù)據(jù)挖掘、大數(shù)據(jù)處理、ai算法的核心。
從在目前來看,絕大多數(shù)公司或者組織做大數(shù)據(jù)處理時,他們的數(shù)據(jù)來源于:設(shè)備收集、數(shù)據(jù)庫、日志、爬蟲等等。當(dāng)然,如果是學(xué)術(shù)或者個人做大數(shù)據(jù)處理的研究的話,數(shù)據(jù)還經(jīng)??赡軄碓从冢洪_源數(shù)據(jù)集、造數(shù)據(jù)(假數(shù)據(jù)/模擬數(shù)據(jù))等等。這很好理解,因為在公司中,常常數(shù)據(jù)都是需要服務(wù)于真實業(yè)務(wù),所以數(shù)據(jù)也就來自于真實業(yè)務(wù),而個人或者學(xué)術(shù)上可以使用一些特定的開源數(shù)據(jù)集來做相應(yīng)研究,下面我們來介紹一下公司中經(jīng)常獲取數(shù)據(jù)的這幾種方法:
1、設(shè)備收集
設(shè)備收集顧名思義就是使用一些設(shè)備來進行收集數(shù)據(jù),比如在工業(yè)界電力行業(yè)常用的Scada數(shù)據(jù)就是通過常用的一些終端電子設(shè)備,直接放在匯流箱、逆變器等設(shè)備上,實時將電流電壓數(shù)據(jù)記錄并保存下來,這樣得到大量的數(shù)據(jù)。
再如,我們每個人的手機可能都是某些軟件的數(shù)據(jù)收集終端,我們每天的運動步數(shù)可能會被支付寶/微信記錄下,我們每天點開軟件的次數(shù)等等這些操作,都是各個軟件收集數(shù)據(jù)的一個手段。這些數(shù)據(jù)可以直接放入到大數(shù)據(jù)環(huán)境當(dāng)中,也可以通過關(guān)系型數(shù)據(jù)庫做一個跳板。
2、從數(shù)據(jù)庫導(dǎo)入
在大數(shù)據(jù)技術(shù)風(fēng)靡起來前,關(guān)系型數(shù)據(jù)庫(RDMS)是主要的數(shù)據(jù)分析與處理的途徑。許多公司的業(yè)務(wù)邏輯數(shù)據(jù)都是存放在關(guān)系型數(shù)據(jù)庫中。比如一個電商網(wǎng)站,你購買了一件商品,發(fā)生的這種行為絕對會生成一條數(shù)據(jù)在數(shù)據(jù)庫中。比如你收藏了一件商品、退貨了一件商品等等這種行為都會被記錄到數(shù)據(jù)庫中。
發(fā)展至今數(shù)據(jù)庫技術(shù)已經(jīng)相當(dāng)完善,當(dāng)大數(shù)據(jù)出現(xiàn)的時候,行業(yè)就在考慮能否把數(shù)據(jù)庫數(shù)據(jù)處理的方法應(yīng)用到大數(shù)據(jù)中。雖然出現(xiàn)Hive等大數(shù)據(jù)產(chǎn)品,但是在生產(chǎn)過程中業(yè)務(wù)數(shù)據(jù)依舊使用 RDMS 進行存儲,這是因為產(chǎn)品需要實時響應(yīng)用戶的操作,在毫秒級完成讀寫操作,而大數(shù)據(jù)產(chǎn)品不是應(yīng)對這種情況出現(xiàn)的。
到這里你可能就有一個疑問,如何把業(yè)務(wù)的數(shù)據(jù)庫同步到大數(shù)據(jù)平臺中?一般來說業(yè)務(wù)數(shù)據(jù)我們使用實時和離線采集數(shù)據(jù)來將數(shù)據(jù)抽取到數(shù)據(jù)倉庫中。然后再進行后續(xù)數(shù)據(jù)處理和分析,我們常用的數(shù)據(jù)庫導(dǎo)入工具是Sqoop。Sqoop是 Apache 旗下一款 Hadoop 和關(guān)系型數(shù)據(jù)庫之間傳送離線數(shù)據(jù)的工具。實現(xiàn)關(guān)系型數(shù)據(jù)庫同 Hadoop 集群的 Hdfs、Hbase、Hive 進行數(shù)據(jù)同步,是連接傳統(tǒng)關(guān)系型數(shù)據(jù)庫和 Hadoop 的橋梁。
3、日志導(dǎo)入
日志系統(tǒng)將我們系統(tǒng)運行的每一個狀況信息都使用文字或者日志的方式記錄下來,這些信息我們可以理解為業(yè)務(wù)或是設(shè)備在虛擬世界的行為的痕跡,通過日志對業(yè)務(wù)關(guān)鍵指標(biāo)以及設(shè)備運行狀態(tài)等信息進行分析。
除了常規(guī)記錄的方式收集日志之外,一般用戶的一些行為日志收集的方式我們采用埋點的形式進行收集。埋點的意思實際上是在前端頁面上放上一個監(jiān)控點,它能夠記錄下你所有的一些行為,比如你鼠標(biāo)來來回回移動了幾下,你點擊了哪些地方,你在這篇文章上停留了多久,你在輸入框中輸入了什么字然后又刪除了等等所有的一些行為,都可以被埋點所記錄。而將日志數(shù)據(jù)導(dǎo)入到大數(shù)據(jù)環(huán)境中也有許多的方案,常見的日志收集解決方案如ELK搭建日志采集+日志查詢+可視化系統(tǒng)。Flume+Kafka+Hive/Spark+SparkStreaming實現(xiàn)日志的實時采集+離線分析+實時處理的架構(gòu)等等。
4、爬蟲
爬蟲是一種通過模擬正常人瀏覽訪問網(wǎng)站的一類程序,它通過模擬正常人訪問網(wǎng)站,從而達到獲取該網(wǎng)站數(shù)據(jù)的目的,比如說我訪問了一下天氣預(yù)報網(wǎng)站,并復(fù)制了今天的溫度發(fā)給女朋友,我說對女朋友說“寶貝,今天溫度很合適,咱們?nèi)ヅ郎桨?rdquo;,女朋友回“分手吧,40度的溫度你叫我爬山,你根本不愛我”??窗桑页晒νㄟ^獲取網(wǎng)站的數(shù)據(jù)丟失了一個女朋友。爬蟲就是通過模擬人的方式去訪問網(wǎng)站,并獲取網(wǎng)站的數(shù)據(jù)的。
時日至今,爬蟲的數(shù)據(jù)成為公司重要戰(zhàn)略資源,通過獲取同行的數(shù)據(jù)跟自己的數(shù)據(jù)進行支撐對比,管理者可以更好做出決策。爬蟲也是一個非常有用和常見的數(shù)據(jù)獲取方式。數(shù)據(jù)采集是數(shù)據(jù)分析、數(shù)據(jù)挖掘工作中的第一步。數(shù)據(jù)采集的準(zhǔn)確性決定了這個數(shù)據(jù)分析報告是不是有使用價值。只有當(dāng)數(shù)據(jù)采集具有科學(xué)性、客觀、嚴(yán)密的邏輯性時,建立在這樣的數(shù)據(jù)分析基礎(chǔ)之上得出來的結(jié)論才具有現(xiàn)實的價值和意義。