自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

面試官:談?wù)劥髷?shù)據(jù)采集和常見問題

大數(shù)據(jù)
離線數(shù)據(jù)采集主要包括從數(shù)據(jù)庫中采集,如MySQL、Oracle、MongoDB等;從離線文件采集,如外部系統(tǒng)數(shù)據(jù)。

[[399679]]

大家好,我是一哥,今天給大家講解一下大數(shù)據(jù)面試中對于數(shù)據(jù)采集部分的一些問題。

01什么是數(shù)據(jù)采集

數(shù)據(jù)采集是大數(shù)據(jù)的基石,不論是現(xiàn)在的互聯(lián)網(wǎng)公司,物聯(lián)網(wǎng)公司或者傳統(tǒng)的IT公司,每個業(yè)務(wù)流程環(huán)節(jié)都會產(chǎn)生大量的數(shù)據(jù),同時用戶操作的日志也會產(chǎn)生大量的數(shù)據(jù),為了將這些結(jié)構(gòu)化和非結(jié)構(gòu)化的數(shù)據(jù)進(jìn)行采集,我們必須要有一套完整的數(shù)據(jù)采集方案流程,為后續(xù)的數(shù)據(jù)分析應(yīng)用提供數(shù)據(jù)基礎(chǔ)。

根據(jù)不同業(yè)務(wù)場景,對于數(shù)據(jù)采集的時效性要求也是不一樣的,一般分為離線數(shù)據(jù)采集和實時數(shù)據(jù)采集。

02離線數(shù)據(jù)采集

離線數(shù)據(jù)采集主要包括從數(shù)據(jù)庫中采集,如MySQL、Oracle、MongoDB等;從離線文件采集,如外部系統(tǒng)數(shù)據(jù)。每天凌晨會抽取前一天的數(shù)據(jù)(T+1),對于維度數(shù)據(jù)一般采用每次全量采集,對于業(yè)務(wù)數(shù)據(jù),為了提高采集效率,同時也為了保住業(yè)務(wù)數(shù)據(jù)庫的穩(wěn)定性,采用每天增量采集,然后將T+1的數(shù)據(jù)合并成新的全量數(shù)據(jù)。

對于關(guān)系型數(shù)據(jù)庫,如MySQL,一般是有主從數(shù)據(jù)庫的,為了保住穩(wěn)定和不影響主庫的查詢性能,我們一般抽取從庫數(shù)據(jù)。對于文件數(shù)據(jù)抽取前需要先檢測文件是否存在,源系統(tǒng)提供文件的時候需要提供對應(yīng)的校驗文件,校驗文件里一般包含文件的記錄數(shù)、字段格式等信息。采集到文件后需要對文件進(jìn)行校驗,文件完整的情況下才能繼續(xù)后續(xù)數(shù)據(jù)處理程序。

03實時數(shù)據(jù)采集

實時數(shù)據(jù)采集主要是一些頁面日志的采集,也就是我們常說的用戶行為分析數(shù)據(jù)。日志采集一般有以下幾個步驟:數(shù)據(jù)埋點,數(shù)據(jù)上報,數(shù)據(jù)存儲。

  • 數(shù)據(jù)埋點:網(wǎng)站上線后一般會植入一段JS腳本,用戶訪問頁面時,JS會收集當(dāng)前頁面的一些信息,用戶問的上下文信息以及當(dāng)前訪問的頁面業(yè)務(wù)相關(guān)數(shù)據(jù)。
  • 數(shù)據(jù)上報:JS執(zhí)行完畢后,會將所有收集到的信息拼裝到一個請求內(nèi),通過日志請求將數(shù)據(jù)發(fā)送到日志服務(wù)器,存儲為JSON文件;一般情況下,在 JS 執(zhí)行完成后就會立即向日志服務(wù)器發(fā)送消息隊列中。
  • 數(shù)據(jù)存儲:存儲在磁盤上的文件會部署數(shù)據(jù)采集組件比如Flume,將采集到的日志數(shù)據(jù)發(fā)送到HDFS進(jìn)行存儲或者轉(zhuǎn)存到HBase進(jìn)行存儲。消息隊列的數(shù)據(jù)則可以直接消費落地到HDFS或者HBase進(jìn)行存儲。

04數(shù)據(jù)采集的問題

是不是所有的日志數(shù)據(jù)都實時采集?

用戶的每個操作都會產(chǎn)生一個操作日志,但并不是每生成一條日志就實時上報至服務(wù)器,而是在產(chǎn)生日志后,先暫存在客戶端本地,再結(jié)合著相應(yīng)的上報控制策略進(jìn)行數(shù)據(jù)上報。其中上報策略主要指根據(jù)日志的業(yè)務(wù)特性,數(shù)據(jù)的時效性,用戶的網(wǎng)絡(luò)特性等等信息設(shè)定不同的上報策略,有些日志會因為其數(shù)據(jù)時效性的要求進(jìn)行實時數(shù)據(jù)上報,而有些日志則會在用戶啟動應(yīng)用,或者間隔一段時間后將日志上報上來。

總是找不到想要的埋點數(shù)據(jù)?

在實際業(yè)務(wù)數(shù)據(jù)采集中會發(fā)現(xiàn)每個模塊的業(yè)務(wù)數(shù)據(jù)格式都是不一樣的。因此就需要設(shè)計一種日志數(shù)據(jù)采集標(biāo)準(zhǔn),可以針對特定的業(yè)務(wù)場景,制定通用的數(shù)據(jù)采集標(biāo)識,研發(fā)人員在進(jìn)行頁面埋點時,依據(jù)標(biāo)準(zhǔn)的數(shù)據(jù)采集標(biāo)識規(guī)則進(jìn)行埋點,從而收集業(yè)務(wù)的詳細(xì)信息。這個標(biāo)準(zhǔn)需要產(chǎn)品經(jīng)理、前端開發(fā)人員、數(shù)據(jù)開發(fā)人員、數(shù)據(jù)分析人員、數(shù)據(jù)運營人員等多方達(dá)成一致,確保后面產(chǎn)品展現(xiàn)、埋點開發(fā)、模型開發(fā)、數(shù)據(jù)分析和運營能夠正常開發(fā)、解析、統(tǒng)計分析數(shù)據(jù)。

如何對多個業(yè)務(wù)生成唯一標(biāo)識?

在數(shù)據(jù)埋點中如何唯一確定用戶的身份一件很重要的工作,因為如果做不到用戶的唯一標(biāo)識,那么后續(xù)很多數(shù)據(jù)模型是無法構(gòu)建的。所以在設(shè)計埋點標(biāo)準(zhǔn)時,一般會包含用的設(shè)備ID和用戶ID,關(guān)于設(shè)備ID安卓和IOS的方法也不一樣,大家可以搜索相關(guān)資料(https://zhuanlan.zhihu.com/p/152051748);用戶ID,也就是我們常說的注冊賬號。

05數(shù)據(jù)采集用到的大數(shù)據(jù)技術(shù)

在數(shù)據(jù)采集中用到了哪些大數(shù)據(jù)技術(shù)呢?可以看到數(shù)據(jù)采集組件,消息中間件,數(shù)據(jù)存儲組件等,后續(xù)我們來一一講解每個技術(shù)。

本文轉(zhuǎn)載自微信公眾號「數(shù)據(jù)社」,可以通過以下二維碼關(guān)注。轉(zhuǎn)載本文請聯(lián)系數(shù)據(jù)社公眾號。

 

責(zé)任編輯:武曉燕 來源: 數(shù)據(jù)社
相關(guān)推薦

2018-10-22 14:28:26

面試官數(shù)據(jù)公司

2025-02-19 00:00:00

RabbitMQTTL插件

2024-06-13 08:01:19

2025-03-21 00:00:05

Reactor設(shè)計模式I/O 機(jī)制

2024-10-24 16:14:43

數(shù)據(jù)傳輸CPU零拷貝

2022-03-21 09:05:18

volatileCPUJava

2025-02-21 15:25:54

虛擬線程輕量級

2024-09-27 15:43:52

零拷貝DMAIO

2018-05-10 15:48:47

面試面試官Java

2021-08-05 08:32:27

React開發(fā)項目

2024-04-19 00:00:00

計數(shù)器算法限流算法

2018-04-27 14:46:07

面試簡歷程序員

2023-07-11 08:50:34

2024-08-27 12:36:33

2025-04-09 00:00:00

2010-08-16 10:16:19

數(shù)據(jù)中心管理

2024-08-23 09:02:56

2021-07-06 07:08:18

管控數(shù)據(jù)數(shù)倉

2021-11-05 10:07:13

Redis哈希表存儲

2024-09-26 16:01:52

點贊
收藏

51CTO技術(shù)棧公眾號