1. 背景
在構(gòu)建精準(zhǔn)用戶畫像時,面臨著這樣一個問題:日志采集不能成功地收集用戶的所有ID,且每條業(yè)務(wù)線有各自定義的UID用來標(biāo)識用戶,從而造成了用戶ID的零碎化。因此,為了做用戶標(biāo)簽的整合,用戶ID之間的強(qiáng)打通(亦稱為ID-Mapping)成了迫切的需求。大概三年前,在知乎上有這樣一個與之相類似的問題:如何用MR實(shí)現(xiàn)并查集以對海量數(shù)據(jù)pair做聚合;目前為止還無人解答。本文將提供一個可能的解決方案——如何用MR計算框架來實(shí)現(xiàn)大數(shù)據(jù)下的ID強(qiáng)打通。
首先,簡要地介紹下Android設(shè)備常見的ID:
IMEI(International Mobile Equipment Identity),即通常所說的手機(jī)序列號、手機(jī)“串號”,用于在移動電話網(wǎng)絡(luò)中識別每一部獨(dú)立的手機(jī)等行動通訊裝置;序列號共有15位數(shù)字,前6位(TAC)是型號核準(zhǔn)號碼,代表手機(jī)類型。接著2位(FAC)是最后裝配號,代表產(chǎn)地。后6位(SNR)是串號,代表生產(chǎn)順序號。最后1位(SP)一般為0,是檢驗(yàn)碼,備用。
MAC(Media Access Control)一般代指MAC位址,為網(wǎng)卡的標(biāo)識,用來定義網(wǎng)絡(luò)設(shè)備的位置。
IMSI(International Mobile SubscriberIdentification Number),儲存在SIM卡中,可用于區(qū)別移動用戶的有效信息;其總長度不超過15位,同樣使用0~9的數(shù)字。其中MCC是移動用戶所屬國家代號,占3位數(shù)字,中國的MCC規(guī)定為460;MNC是移動網(wǎng)號碼,最多由兩位數(shù)字組成,用于識別移動用戶所歸屬的移動通信網(wǎng);MSIN是移動用戶識別碼,用以識別某一移動通信網(wǎng)中的移動用戶。
Android ID是系統(tǒng)隨機(jī)生成的設(shè)備ID 為一串64位的編碼(十六進(jìn)制的字符串),通過它可以知道設(shè)備的壽命(在設(shè)備恢復(fù)出廠設(shè)置或刷機(jī)后,該值可能會改變)。