【友盟+】數據訓練營系列
【友盟+】數據存量高達60PB,相當于A4紙正反面寫滿數字并裝滿15萬輛卡車;【友盟+】每天的數據計算需要近2萬個高性能CPU,每個CPU每1毫秒計算1億次,相當于200個地球上的100億人24小時不間斷的運算。
互聯網企業每天都會產生大量的業務數據,如何構建一個極速響應、穩定安全、低成本的數據存儲、加工、挖掘、應用的全流程體系,成為企業實現數據化的關鍵。
【友盟+】工程師首次揭秘,友盟+是如何對超級體量數據進行存儲與加工,為超過150萬款應用以及710萬家網站提供全域數據服務,并讓這些龐大的數據源源不斷的實現秒級計算與應用。
我們將從三個部分展開:數據存儲、數據挖掘、特征加工。
一.數據倉庫是如何運作的?
數據倉庫輸入、輸出的是什么數據?數據倉庫是如何運作的?數據倉庫到底做了什么?

我們先看一下數據倉庫,左邊是輸入數據,第一是數據采集,直接通過JS代碼或者SDK采集設備行為數據;第二是業務數據上傳;第三是營銷領域的問卷數據上傳、文件數據上傳等。右邊是輸出數據。數據經過處理后主要以四種形式輸出,包括統計報表、數據超市、DMP、數據報告。
重點介紹中間的數據倉庫!居衙+】數據存量高達60PB,如果用一張A4紙正反面寫滿數字,把A4紙疊起來可以裝15萬輛卡車。倉庫里面有多少張表呢?大概是上萬張。我們每年計算/存儲成本非常高。
大數據的挖掘、分析和運算就是我們的CPU,我們每天的運算量需要2萬個CPU,相當于200個地球上的100億人24小時不間斷的運算。
數據處理。這么龐大的數據量在數據倉庫內是如何運作的?數據倉庫組件分為四類:存儲框架、開發工具、數據保障和數據管理。
第一, 存儲框架。包含(阿里云)ODPS、HDFS、Oracle、HBASE等。
第二,開發工具。分為開發平臺和調度器。調度器代表對這個關系的依賴,讓這個任務完成之后進行下一個任務的通知和運行。
第三,數據保障機制,通過數據監控去做保障,監控任務、數據異常并報警,通過任務調度管理保障數據任務的優先級和數據質量。之前說我們數據倉庫里有上萬張表,對每一個生產表打標簽,快速定位到我們想要的表就是數據地圖。數據健康,如果1TB數據執行一個小時,就代表很慢,就可以通過數據優化判斷出你的任務,你的數據表可能不夠健康,你的健康分會被降低,健康分降低了優先級就會降低。
第四,數據管理,比如開發規范、數據空間管理、元數據管理。
1)開發規范。這么大的數據量為避免數據重復開發和浪費,我們會對代碼和命名進行有效規范。還可以通過方法論,比如數據分層、統一語言,索引條件優先等級劃分,都需要記錄在開發規范中。
2)數據空間,就是我們有這么一個平臺能看到各個BU、各個平臺、各個部門現在的數據狀況。比如,有些同學可能SQL寫的有問題,出現傾斜之類的,我們能夠快速的發現并通知,及時修復和優化。
3)源數據管理,就是在這么大的一個數據管理里面快速查找到數據表是什么情況,這個數據是不是做了壓縮,包括任務是誰提交的,提交時間等。同時還有每個數據公司對自己的數據資產有一個盤點,有一個清晰的認識。當前我們到底有什么數據,這樣的一個數據洞察的體系。
二. 數據挖掘,如何讓雜亂數據統一、分層解耦?
數據處理之后,是數據挖掘。數據挖掘一般分為6個步驟:數據挖掘、數據ETL,第三個是對數據進行分析,然后提取出特征工程,從而進行模擬訓練,然后再進行模型評估。

今天我們重點講兩塊,一個是數據的ETL,一個是特征工程。
1)ETL是什么呢?就是清洗、加工和加載。
第一是控制處理;
第二是數據格式化,比如說時間格式,有些是秒,有些是毫秒,有些直接采用的就是年月日時分秒,用的時候肯定要統一,讓下游很方便的應用;
第三是數據的驗證。在我們已有的知識體系、業務邏輯、常識中,對數據的邏輯性進行一個判別,如果不符合邏輯的話,我們把這個數據進行達標和分割存儲;
第四是數據補充。就是手機都會采集設備上的經緯度,是一個負點數,我們并不能直接理解,需要對數據進行分割化,圈出一塊區域,對數據做POI關聯,把經緯度做轉化;
第五是公共層。以前的數據庫講的是泛式關系,大數據更多是OLTP、OLAP的概念。我們更多的以事實行為去做事實寬表。比如說維度表以及數據的立方體。這里面提到了數據達標和數據分割,一般會遵守的準則是所有的數據進到了數據倉庫,哪怕這個數據是無用的、是空的,我們也不會剔除。

有很多數據需要做數據分層,比方說今天重新建了一張表,這個業務發生變化了,F在互聯網的狀態就是擁抱變化,每周都會不停的在開發新表,如何用2分鐘就把這個表變了。分層業界里面都會分為三層:數據接入層ODS、數據公共層CDM、數據應用層ADS。我們針對明細數據做分析,比如說廣州市是廣東省的這樣一個對應關系。公共聚合層就是數據立方體,數據應用層就是針對不同的業務去劃分獨特的一塊區域,通過分層可以做到業務解耦。

數據加工中的一個拉鏈表,左邊這張表記錄了小明每年的學籍,小明在2012-2013年之間都是小學,我們記錄開始時間和結束時間。左邊這個數據到右邊這個數據很頻繁,只記錄狀態的變化就可以了。這個場景可能會應用于哪些行業呢?比如電商系統,這個商品今天做促銷,明天促銷就取消了,對商品價格打一個快照。
這個表主要就是為了節省存儲空間,讓運算速度更快。剛剛提到了數據立方體,做數據分析的同學會經常接觸,也就是QB。

簡單的畫了一個圖,橫坐標是一個季度的維度,縱坐標是品類的維度,還有地區維度,構成三維立方體,F實中的維度遠遠不止三個,它會變成9塊,每個這樣的組合至少有9種組合關系,現實中這個關系有可能是10個、20個。當擴大到20的時候數據量非常龐大。怎么處理呢?維度的組合關系,一般還會有一級分類、二級分類,一級分類必然是和二級分類有關系。比如江蘇省,另一個維度是城市,南京市必然是江蘇省,把這些維度做一些關聯,我們一般叫關聯維度的結合。

數據立方體的鉆取。就是對某一個維度進行下鉆,對月份進行下鉆,就是對維度進行細分。我們來看一個季度的分布,上卷就看到一、二、三季度的分布。我們鎖定了品類的維度叫電子產品,去看季度、地區的情況,這叫切片。切塊很簡單,多個維度就變成了切塊。以季度和地區去看品類的情況,做立體三維空間的反轉,就是數據立方體。
三. 特征加工,如何提取有價值的特征?
如何在這么多數據中提取跟用戶相關、跟設備相關的特征?通常將特征分為四大類,第一是基本特征,比如空降的種類、數量、金額、重量、長度等;還有時間上的時長、次數、購買次數;還有比例上的,比如男女比例,平均比例等;還有復雜特征,就是將基本特征和統計特征做一個組合;還有自然特征,比如聲音、圖像等。

對這個特征進行分析,大概會分為這幾個步驟,特征分析、特征選取、特征評估。比如對用戶的換機的判斷。第一步先要去想特征,比如性別、年齡、收入水平、財富水平,興趣偏好等。
第二塊就是從現有的數據里提取出來,能夠采集到APP數據,用戶喜歡哪個APP,是玩游戲還是購物。特征的評估是針對這個數據做分析,比如這個數據是不是可靠。
簡述特征處理的3種方式
1)二值化:將一個特征轉換成用0/1表示的多個特征
解決兩個特征的差沒有意義的情況,尤其針對枚舉值;
例如:性別男和女,或者年齡段,比如20、30相加相減都是沒有意義的。所以我們處理特征,第一位1表示男,第2位1表示女。
2)權重和平滑處理
用戶特征往往無法拿到具體值,比如品牌特征,用戶往往并不是只對某一品牌感興趣,而是對多個品牌感興趣,只是感興趣的程度不一樣。例如:[lily:0.5, Loft Shine:0.2, J.crew:0.15];時間衰減,歷史數據進行權重處理,如果沒有新增,數據更平滑。
3)合理化:異常值發現
根據常識或知識體系,剔除不合理數據,避免對特征的影響。
比如,一個用戶的定位數據,100條記錄都在北京,其中有1條在廣州且時間與其他記錄相差幾分鐘,可以對該數據進行標注。
【友盟+】全球領先的第三方全域數據服務商。 擁有實時更新的全域數據資源、7億真實活躍消費者畫像體系、強大的數據技術和領先的算法能力。在此之上,【友盟+】構建了以DIP數據智能平臺為核心,涵蓋用戶增值、數據營銷、新零售、金融風控等服務的大數據產品體系。并通過靈活的SaaS+PaaS模式,激發企業和品牌的數據智能潛力,驅動品牌持續增長。
作者 |【友盟+】數據研發專家 吳丹
文章內容僅供閱讀,不構成投資建議,請謹慎對待。投資者據此操作,風險自擔。
海藝AI的模型系統在國際市場上廣受好評,目前站內累計模型數超過80萬個,涵蓋寫實、二次元、插畫、設計、攝影、風格化圖像等多類型應用場景,基本覆蓋所有主流創作風格。
IDC今日發布的《全球智能家居清潔機器人設備市場季度跟蹤報告,2025年第二季度》顯示,上半年全球智能家居清潔機器人市場出貨1,2萬臺,同比增長33%,顯示出品類強勁的市場需求。