什么是大數(shù)據(jù):大數(shù)據(jù)(big data),指無法在一定時間范圍內(nèi)用常規(guī)軟件工具進行捕捉、管理和處理的數(shù)據(jù)集合,是需要新處理模式才能具有更強的決策力、洞察發(fā)現(xiàn)力和流程優(yōu)化能力的海量、高增長率和多樣化的信息資產(chǎn)。
大數(shù)據(jù)的5V特點:Volume(大量)、Velocity(高速)、Variety(多樣)、Value(低價值密度)、Veracity(真實性),百度隨便找找都有。
大數(shù)據(jù)處理流程:
1.是數(shù)據(jù)采集,搭建數(shù)據(jù)倉庫,數(shù)據(jù)采集就是把數(shù)據(jù)通過前端埋點,接口日志調(diào)用流數(shù)據(jù),數(shù)據(jù)庫抓取,客戶自己上傳數(shù)據(jù),把這些信息基礎(chǔ)數(shù)據(jù)把各種維度保存起來,感覺有些數(shù)據(jù)沒用(剛開始做只想著功能,有些數(shù)據(jù)沒采集, 后來被老大訓(xùn)了一頓)。
2.數(shù)據(jù)清洗/預(yù)處理:就是把收到數(shù)據(jù)簡單處理,比如把ip轉(zhuǎn)換成地址,過濾掉臟數(shù)據(jù)等。
3.有了數(shù)據(jù)之后就可以對數(shù)據(jù)進行加工處理,數(shù)據(jù)處理的方式很多,總體分為離線處理,實時處理,離線處理就是每天定時處理,常用的有阿里的maxComputer,hive,MapReduce,離線處理主要用storm,spark,hadoop,通過一些數(shù)據(jù)處理框架,可以吧數(shù)據(jù)計算成各種KPI,在這里需要注意一下,不要只想著功能,主要是把各種數(shù)據(jù)維度建起來,基本數(shù)據(jù)做全,還要可復(fù)用,后期就可以把各種kpi隨意組合展示出來。
4.數(shù)據(jù)展現(xiàn),數(shù)據(jù)做出來沒用,要可視化,做到MVP,就是快速做出來一個效果,不合適及時調(diào)整,這點有點類似于Scrum敏捷開發(fā),數(shù)據(jù)展示的可以用datav,神策等,前端好的可以忽略,自己來畫頁面。
數(shù)據(jù)采集:
1.批數(shù)據(jù)采集,就是每天定時去數(shù)據(jù)庫抓取數(shù)據(jù)快照,我們用的maxComputer,可以根據(jù)需求,設(shè)置每天去數(shù)據(jù)庫備份一次快照,如何備份,如何設(shè)置數(shù)據(jù)源,如何設(shè)置出錯,在maxComputer都有文檔介紹,使用maxComputer需要注冊阿里云服務(wù),https://help.aliyun.com/product/27797.html,鏈接是maxComputer文檔。
2.實時接口調(diào)用數(shù)據(jù)采集,可以用logHub,dataHub,流數(shù)據(jù)處理技術(shù),DataHub具有高可用,低延遲,高可擴展,高吞吐的特點。
高吞吐:最高支持單主題(Topic)每日T級別的數(shù)據(jù)量寫入,每個分片(Shard)支持最高每日8000萬Record級別的寫入量。
實時性:通過DataHub ,您可以實時的收集各種方式生成的數(shù)據(jù)并進行實時的處理,
設(shè)計思路:首先寫一個sdk把公司所有后臺服務(wù)調(diào)用接口調(diào)用情況記錄下來,開辟線程池,把記錄下來的數(shù)據(jù)不停的往dataHub,logHub存儲,前提是設(shè)置好接收數(shù)據(jù)的dataHub表結(jié)構(gòu),https://help.aliyun.com/document_detail/47448.html?spm=a2c4g.11186623.3.2.nuizA4,這是dataHub文檔,下圖是數(shù)據(jù)監(jiān)控,會看到數(shù)據(jù)會不停流入
3.前臺數(shù)據(jù)埋點,這些就要根據(jù)業(yè)務(wù)需求來設(shè)置了,也是通過流數(shù)據(jù)傳輸?shù)綌?shù)據(jù)倉庫,如上述第二步。
數(shù)據(jù)處理:
數(shù)據(jù)采集完成就可以對數(shù)據(jù)進行加工處理,可分為離線批處理,實時處理。
1.離線批處理maxComputer,這是阿里提供的一項大數(shù)據(jù)處理服務(wù),是一種快速,完全托管的TB/PB級數(shù)據(jù)倉庫解決方案,編寫數(shù)據(jù)處理腳本,設(shè)置任務(wù)執(zhí)行時間,任務(wù)執(zhí)行條件,就可以按照你的要求,每天產(chǎn)生你需要的數(shù)據(jù),https://help.aliyun.com/document_detail/30267.html?spm=a2c4g.11174283.3.2.0aBtdh,鏈接dataworks為文檔。下圖是檢測任務(wù)實例運行狀態(tài)
2.實時處理:采用storm/spark,目前接觸的只有storm,strom基本概念網(wǎng)上一大把,在這里講一下大概處理過程,首先設(shè)置要讀取得數(shù)據(jù)源,只要啟動storm就會不停息的讀取數(shù)據(jù)源。Spout,用來讀取數(shù)據(jù)。Tuple:一次消息傳遞的基本單元,理解為一組消息就是一個Tuple。stream,用來傳輸流,Tuple的集合。Bolt:接受數(shù)據(jù)然后執(zhí)行處理的組件,用戶可以在其中執(zhí)行自己想要的操作。可以在里邊寫業(yè)務(wù)邏輯,storm不會保存結(jié)果,需要自己寫代碼保存,把這些合并起來就是一個拓撲,總體來說就是把拓撲提交到服務(wù)器啟動后,他會不停讀取數(shù)據(jù)源,然后通過stream把數(shù)據(jù)流動,通過自己寫的Bolt代碼進行數(shù)據(jù)處理,然后保存到任意地方,關(guān)于如何安裝部署storm,如何設(shè)置數(shù)據(jù)源,網(wǎng)上都有教程,這里不多說。
數(shù)據(jù)展現(xiàn):做了上述那么多,終于可以直觀的展示了,由于前端技術(shù)不行,借用了第三方展示平臺datav,datav支持兩種數(shù)據(jù)讀取模式,第一種,直接讀取數(shù)據(jù)庫,把你計算好的數(shù)據(jù),通過sql查出來,需要配置數(shù)據(jù)源,讀取數(shù)據(jù)之后按照給定的格式,進行格式化就可以展現(xiàn)出來,https://help.aliyun.com/document_detail/30360.html,鏈接為datav文檔。可以設(shè)置圖標的樣式,也可以設(shè)置參數(shù),
第二種采用接口的形式,可以直接采用api,在數(shù)據(jù)區(qū)域配置為api,填寫接口地址,需要的參數(shù)即可,這里就不多說了。
-
大數(shù)據(jù)
+關(guān)注
關(guān)注
64文章
8863瀏覽量
137299
發(fā)布評論請先 登錄
相關(guān)推薦
評論