- 數(shù)據(jù)中臺實戰(zhàn):手把手教你搭建數(shù)據(jù)中臺
- 董超華
- 553字
- 2020-09-29 16:55:54
2.3 數(shù)據(jù)采集流程
數(shù)據(jù)采集工作一般是由數(shù)據(jù)開發(fā)工程師承擔(dān)的。本節(jié)筆者介紹一下用戶行為數(shù)據(jù)采集、業(yè)務(wù)數(shù)據(jù)采集的流程,讓大家了解數(shù)據(jù)開發(fā)工程師是如何工作的,這樣才能更好地與他們合作。
一個典型的用戶行為數(shù)據(jù)采集流程,如圖2-5所示。

圖2-5 用戶行為數(shù)據(jù)采集流程
第一步,前端工程師通過異步HTTP接口的形式將埋點數(shù)據(jù)發(fā)送到Ngnix服務(wù)器,通過Ngnix做負(fù)載均衡將日志文件采集并存儲起來。
第二步,通過如Flume之類的日志采集工具將埋點日志文件以消息的形式發(fā)送到Kafka集群。
第三步,數(shù)據(jù)中臺通過訂閱Kafka集群的日志消息將日志文件存儲在數(shù)據(jù)中臺。
一個典型的業(yè)務(wù)數(shù)據(jù)采集流程,如圖2-6所示。

圖2-6 數(shù)據(jù)中臺業(yè)務(wù)數(shù)據(jù)采集流程
(1)業(yè)務(wù)數(shù)據(jù)庫產(chǎn)生的業(yè)務(wù)數(shù)據(jù)一般存儲在關(guān)系型數(shù)據(jù)庫(如MySQL、Oracle等)中,存儲的過程會產(chǎn)生Binlog日志文件。Binlog是一種二進制格式的文件,用于記錄用戶對數(shù)據(jù)庫更新的SQL語句信息,例如更改數(shù)據(jù)庫表和更改內(nèi)容的SQL語句都會被記錄到Binlog里,但是對庫表等內(nèi)容的查詢不會被記錄。
(2)Kafka MySQL CDC Connect讀取了業(yè)務(wù)數(shù)據(jù)的Binlog文件后,通過CDC(Change Data Capture,意為“變動數(shù)據(jù)捕獲”,是增量抽取數(shù)據(jù)解決方案之一,能夠幫助識別從上次提取之后發(fā)生變化的數(shù)據(jù))的方式將業(yè)務(wù)庫變動數(shù)據(jù)記錄到Kafka等下游來消費。
(3)可以通過Python語言在Kafka消費基礎(chǔ)上做一個調(diào)用,將生產(chǎn)者產(chǎn)生的數(shù)據(jù)消費到Hbase。這樣當(dāng)MySQL中有相應(yīng)操作時,Hbase便會同步。
- 數(shù)據(jù)分析實戰(zhàn):基于EXCEL和SPSS系列工具的實踐
- Spark快速大數(shù)據(jù)分析(第2版)
- Mastering Ninject for Dependency Injection
- 數(shù)據(jù)庫開發(fā)實踐案例
- Live Longer with AI
- 數(shù)據(jù)庫系統(tǒng)原理及應(yīng)用教程(第4版)
- Python醫(yī)學(xué)數(shù)據(jù)分析入門
- Oracle 12c云數(shù)據(jù)庫備份與恢復(fù)技術(shù)
- SQL Server 2012數(shù)據(jù)庫管理教程
- 菜鳥學(xué)SPSS數(shù)據(jù)分析
- R Machine Learning Essentials
- Access數(shù)據(jù)庫開發(fā)從入門到精通
- 數(shù)據(jù)庫原理與設(shè)計實驗教程(MySQL版)
- MySQL技術(shù)內(nèi)幕:InnoDB存儲引擎
- SQL Server 2012 數(shù)據(jù)庫教程(第3版)