大數據從哪里來?


現代商業市場是一個數據驅動的環境,可以說不論技術怎么更新換代,數據都有着不可替代的地位,而且拋開數據談大數據就是瞎扯,沒有數據作支撐的大數據平台就是一個空殼。無論是公司內部的數據還是外部的數據都可以構成我們大數據平台的來源數據,大數據平台的數據來源主要有數據庫、日志、前端埋點、爬蟲。

1 從數據庫導入

在大數據技術風靡起來前,關系型數據庫(RDMS)是主要的數據分析與處理的途徑。發展至今數據庫技術已經相當完善,當大數據出現的時候,行業就在考慮能否把數據庫數據處理的方法應用到大數據中,於是 Hive、Spark SQL 等大數據 SQL 產品就這樣誕生。

雖然出現 Hive 大數據產品,但是在生產過程中業務數據依舊使用 RDMS 進行存儲,這是因為產品需要實時響應用戶的操作,在毫秒級完成讀寫操作,而大數據產品不是應對這種情況出現的。到這里你可能就有一個疑問,如何把業務的數據庫同步到大數據平台中?一般來說業務數據我們使用實時和離線采集數據來將數據抽取到數據倉庫中。然后再進行后續數據處理和分析,一些常見的數據庫導入工具有 Sqoop、Datax 和 Canal 等。

image

Sqoop 是 Apache 旗下一款 Hadoop 和關系型數據庫之間傳送離線數據的工具。實現關系型數據庫(MySQL 、Postgres 等)同 Hadoop 集群的 Hdfs、Hbase、Hive 進行數據同步, 是連接傳統關系型數據庫和 Hadoop 的橋梁。datax 與 sqoop 類似也是進行離線數據傳輸,支持阿里數據庫系列數據同步。

image

Canal 則是通過讀取 MySql的 BinLog 日志 實時傳輸數據到大數據平台,實現數據的實時介入。

2 日志導入

日志系統將我們系統運行的每一個狀況信息都使用文字或者日志的方式記錄下來,這些信息我們可以理解為業務或是設備在虛擬世界的行為的痕跡,通過日志對業務關鍵指標以及設備運行狀態等信息進行分析。

image

Apache Flume 是大數據日志收集常用的工具。從圖中可以看出 Flume 運行的核心是 Agent,以 Agent 為最小的獨立運行單位。Agent 主要由三個組件:Source,Channel、Sink。

Source: 收集數據,封裝數據為事件(Event)后發送到 Channel,數據來源可以是企業服務器、文件系統、雲、數據存儲庫等。

Channel: 通常,讀取速度比寫入速度快。因此,我們需要一些緩沖區來匹配讀寫速度差異。基本上,Channel 提供一個消息隊列的功能,用於存儲 Source 發送的事件,對事件進行消息排序,發送到 Sink。

Sink: 從 Channel 收集數據,將數據輸送大數據存儲設備,比如 HDFS、Hive、Hbase 等,Sink 也可以作為新的 Source 輸入源,兩個Agent 進行級聯,根據需求開發各種處理結構。

image

3 前端埋點

為什么需要埋點?現在的互聯網公司越來越關注轉化、新增、留存,而不是簡單的統計 PV、UV。這些分析數據來源通過埋點獲取,前端埋點分為三種:手工埋點、可視化埋點、自動化埋點。

手工埋點:

前端需要返回數據的位置調用寫好的埋點 SDK 的函數,按照規范傳入參數通過 Http 方式傳入后代服務器中。這種方式可以下鑽並精准采集數據,但工程量巨大。

自動化埋點:

也叫無埋點,即是無需埋點,在全部位置都設置埋點,對用戶所有操作進行采集,這種方式通過統一的 SDK 返回數據,再選擇需要的數據進行分析,這種方式加大服務器的壓力,采集許多不需要的數據,浪費資源。在實踐中,可以采用對部分用戶或者部分簡單操作頁面進行全埋點采集。

可視化埋點:

是介於手工埋點和自動化埋點之間方式,通過可視化交互設置埋點,可以理解為人為干預的自動化埋點形式。

那如何選擇埋點方式?對於一個按鈕,如果采用可視化埋點或者自動化埋點時,可以輕易采集用戶何時點擊按鈕,對於需要運行獲取獲得的數據是無法采集,比如訂單的商品詳細信息等,對這種情況應該采用手動埋點處理采集。對此,埋點問題不應該通過單一的技術方案來解決,在不同場景下我們需要選擇不同的埋點方案。

4 爬蟲

時至至今, 爬蟲的數據成為公司重要戰略資源,通過獲取同行的數據跟自己的數據進行支撐對比,管理者可以更好的做出決策。而且越難爬蟲獲取競爭對手的數據,對於公司來說是越有價值。

小結

數據采集本身不是目的,只有采集到的數據是可用、能用,且能服務於最終應用分析的數據采集才是根本。數據采集的科學性決定了這個數據分析報告是不是有使用價值。只有當數據采集具有科學性、客觀、嚴密的邏輯性時,建立在這樣的數據分析基礎之上的的出來的結論才具有現實的價值和意義。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM