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