談談大資料採集和常見問題
全文共 1762個字,建議閱讀 5 分鐘
大家好,我是峰哥,今天給大家講解一下大資料面試中對於資料採集部分的一些問題。
資料採集是大資料的基石,不論是現在的網際網路公司,物聯網公司或者傳統的IT公司,每個業務流程環節都會產生大量的資料,同時使用者操作的日誌也會產生大量的資料,為了將這些結構化和非結構化的資料進行採集,我們必須要有一套完整的資料採集方案流程,為後續的資料分析應用提供資料基礎。
根據不同業務場景,對於資料採集的時效性要求也是不一樣的,一般分為離線資料採集和實時資料採集。
離線資料採集主要包括從資料庫中採集,如MySQL、Oracle、MongoDB等;從離線檔案採集,如外部系統資料。每天凌晨會抽取前一天的資料(T+1),對於維度資料一般採用每次全量採集,對於業務資料,為了提高採集效率,同時也為了保住業務資料庫的穩定性,採用每天增量採集,然後將T+1的資料合併成新的全量資料。
對於關係型資料庫,如MySQL,一般是有主從資料庫的,為了保住穩定和不影響主庫的查詢效能,我們一般抽取從庫資料。對於檔案資料抽取前需要先檢測檔案是否存在,源系統提供檔案的時候需要提供對應的校驗檔案,校驗檔案裡一般包含檔案的記錄數、欄位格式等資訊。採集到檔案後需要對檔案進行校驗,檔案完整的情況下才能繼續後續資料處理程式。
實時資料採集主要是一些頁面日誌的採集,也就是我們常說的使用者行為分析資料。日誌採集一般有以下幾個步驟:資料埋點,資料上報,資料儲存。
資料埋點:網站上線後一般會植入一段JS指令碼,使用者訪問頁面時,JS會收集當前頁面的一些資訊,使用者問的上下文資訊以及當前訪問的頁面業務相關資料。
資料上報:JS執行完畢後,會將所有收集到的資訊拼裝到一個請求內,透過日誌請求將資料傳送到日誌伺服器,儲存為JSON檔案;一般情況下,在 JS 執行完成後就會立即向日志伺服器傳送訊息佇列中。
資料儲存:儲存在磁碟上的檔案會部署資料採集元件比如Flume,將採集到的日誌資料傳送到HDFS進行儲存或者轉存到HBase進行儲存。訊息佇列的資料則可以直接消費落地到HDFS或者HBase進行儲存。
是不是所有的日誌資料都實時採集?
使用者的每個操作都會產生一個操作日誌,但並不是每生成一條日誌就實時上報至伺服器,而是在產生日誌後,先暫存在客戶端本地,再結合著相應的上報控制策略進行資料上報。其中上報策略主要指根據日誌的業務特性,資料的時效性,使用者的網路特性等等資訊設定不同的上報策略,有些日誌會因為其資料時效性的要求進行實時資料上報,而有些日誌則會在使用者啟動應用,或者間隔一段時間後將日誌上報上來。
總是找不到想要的埋點資料?
在實際業務資料採集中會發現每個模組的業務資料格式都是不一樣的。因此就需要設計一種日誌資料採集標準,可以針對特定的業務場景,制定通用的資料採集標識,研發人員在進行頁面埋點時,依據標準的資料採集標識規則進行埋點,從而收集業務的詳細資訊。這個標準需要產品經理、前端開發人員、資料開發人員、資料分析人員、資料運營人員等多方達成一致,確保後面產品展現、埋點開發、模型開發、資料分析和運營能夠正常開發、解析、統計分析資料。
如何對多個業務生成唯一標識?
在資料埋點中如何唯一確定使用者的身份一件很重要的工作,因為如果做不到使用者的唯一標識,那麼後續很多資料模型是無法構建的。所以在設計埋點標準時,一般會包含用的裝置ID和使用者ID,關於裝置ID安卓和IOS的方法也不一樣,大家可以搜尋相關資料();使用者ID,也就是我們常說的註冊賬號。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70024420/viewspace-2928859/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 大資料常見問題大資料
- 談一談常見的資料治理怪象
- 談談資料安全常見的誤區
- 資料探勘常見10大問題
- 談談12個最常見的資料質量問題及其來源
- 大資料常見問題之資料傾斜大資料
- 資料庫常見問題資料庫
- 常見資料集
- 談談這幾個常見的多執行緒面試題執行緒面試題
- 談談JavaScript中常見的資料型別JavaScript資料型別
- 談談CSS瀏覽器的相容問題。集錦CSS瀏覽器
- 淺談資料倉儲和大資料大資料
- 也談前端面試常見問題之「陣列亂序」前端面試陣列
- 《大資料》作者Jeffrey D. Ullman訪談問題徵集大資料
- redis 叢集常見問題 QARedis
- PHP初學者常見問題集PHP
- Java常見問題集錦(轉)Java
- 談談資料建模和設計成功的三大能力
- 談談我和大資料的情緣及入門大資料
- 談談資料湖和資料倉儲
- 也談談同源策略和跨域問題跨域
- 面試官:談談Redis快取和MySQL資料一致性問題面試Redis快取MySql
- SiteLock九大常見問題
- 談談關於設計資料管理/治理角色的問題
- Python常見面試題008. 談談python中的解包Python面試題
- 大資料儲存:MongoDB實戰指南——常見問題解答大資料MongoDB
- 35面試常問:談談為什麼要拆分資料庫?有哪些方法?面試資料庫
- 【英語面試常見問題集錦】面試
- DirectX 8 開發者常見問題集 (轉)
- 遊戲開發者談遊戲行業融資時常見的五個問題遊戲開發行業
- 《Spark快速大資料分析》作者Holden Karau訪談問題有獎徵集(圖靈訪談)Spark大資料圖靈
- 五個常見 PHP 資料庫問題PHP資料庫
- 談談.NET中常見的記憶體洩露問題——GC、委託事件和弱引用記憶體洩露GC事件
- 談談阻礙資料建模的5大藉口
- VueJS 開發常見問題集錦VueJS
- Android Studio 常見問題集錦Android
- 大資料_資料採集_網頁01大資料網頁
- 談談資料資產和資料產品的異同