大数据洞察画像自动化实践
文|丁龍 網(wǎng)易云商高級(jí)系統(tǒng)測試工程師
一、什么是消費(fèi)者洞察?
消費(fèi)者洞察是在大數(shù)據(jù)的基礎(chǔ)上,向上走一層,帶著分析洞察的思路去進(jìn)行客戶服務(wù)。當(dāng)垂直行業(yè)深入業(yè)務(wù)時(shí),可以將數(shù)據(jù)進(jìn)行更進(jìn)一步的應(yīng)用分析,輸出給企業(yè)更有價(jià)值的洞察報(bào)告,直接反映消費(fèi)者現(xiàn)狀,并且指導(dǎo)企業(yè)的決策。
這本質(zhì)上也是在顛覆咨詢公司的服務(wù)模式,他們對企業(yè)的服務(wù)模式是一段時(shí)間輸出一份報(bào)告,這里存在大量的數(shù)據(jù)采集和報(bào)告撰寫的時(shí)間。但當(dāng)我們沉淀分析方式,并且將數(shù)據(jù)看板化,就是在用 SaaS 的方式交付洞察咨詢的能力,可以讓企業(yè)以更快的頻率看到數(shù)據(jù)的變化,以更靈活的方式進(jìn)行數(shù)據(jù)指標(biāo)間的交叉分析。
本品洞察畫像:基于品牌的 20 種價(jià)值觀與大數(shù)據(jù)畫像呈現(xiàn)。
換品洞察:基于某手機(jī)展示用戶換機(jī)情況。
二、業(yè)務(wù)實(shí)現(xiàn)
?(一)總體架構(gòu)?
數(shù)據(jù)接入與存儲(chǔ):
通過編寫 Spark 應(yīng)用,將該應(yīng)用部署在網(wǎng)易猛犸數(shù)據(jù)平臺(tái),從 Hive 同步寬表、標(biāo)簽表數(shù)據(jù)至 MySQL 和 ClickHouse 該應(yīng)用具體同步方法如下:
-
將標(biāo)簽分類、標(biāo)簽以及標(biāo)簽枚舉數(shù)據(jù)寫入 MySQL
-
從 Hive 讀取寬表數(shù)據(jù),直接通過 insert 語句寫入 ClickHouse?
數(shù)據(jù)服務(wù):
-
用戶畫像:主要針對不同行業(yè)的洞察算法,提供各種標(biāo)簽組合,生成可視化的洞察畫像與數(shù)據(jù),反映不同類型消費(fèi)者的現(xiàn)狀
-
標(biāo)簽管理:主要負(fù)責(zé)標(biāo)簽的層級(jí)管理和特殊標(biāo)簽的處理,并提供接口給外部進(jìn)行標(biāo)簽列表的查詢。標(biāo)簽分類、標(biāo)簽、標(biāo)簽枚舉都存在 MySQL
針對于業(yè)務(wù)目前架構(gòu),測試大數(shù)據(jù)洞察畫像的算法及同步的大數(shù)據(jù)標(biāo)簽是否正確,保障用戶畫像合理性,成為了重中之重。
?(二)數(shù)據(jù)流轉(zhuǎn)?
消費(fèi)者洞察數(shù)據(jù)通過數(shù)據(jù)清洗、分析、沉淀,獲取到數(shù)據(jù)標(biāo)簽存儲(chǔ)于 Hive 中,部署 spark 應(yīng)用從 Hive 中得到寬表數(shù)據(jù)存儲(chǔ)于 Clikchouse,標(biāo)簽表存儲(chǔ) MySQL,最終業(yè)務(wù)呈現(xiàn)則從 Clikchouse 中寬表計(jì)算。
基于以上數(shù)據(jù)流轉(zhuǎn)與業(yè)務(wù)使用得出整體測試思路:
-
基于 Clickhouse 數(shù)據(jù)源的寬表進(jìn)行數(shù)據(jù)完整性與準(zhǔn)確性校驗(yàn)
-
業(yè)務(wù)畫像呈現(xiàn)的洞察算法測試
三、目前現(xiàn)狀
數(shù)據(jù)量大:同步數(shù)據(jù)后人工校驗(yàn)各類標(biāo)簽規(guī)則耗時(shí)較長,往往需要 1 天甚至更久的時(shí)間
洞察算法過多:圈選不同的組合條件下將產(chǎn)生不同的行業(yè)洞察算法,導(dǎo)致回歸工作量大大增加
重復(fù)性工作量大:數(shù)據(jù)更新頻率快,半月/次,更新后同步需再次進(jìn)行校驗(yàn),重復(fù)性工作多,算法亦是如此
四、解決方案
?(一)數(shù)據(jù)校驗(yàn)自動(dòng)化?
數(shù)據(jù)同步完成后,數(shù)據(jù)同步模塊會(huì)通過接口觸發(fā) QA 的自動(dòng)化標(biāo)簽校驗(yàn)機(jī)制。自動(dòng)化校驗(yàn)平臺(tái)以異步的方式對同步好的標(biāo)簽數(shù)據(jù)進(jìn)行校驗(yàn),如果出現(xiàn)問題會(huì)觸發(fā)報(bào)警通知。
DataValidataController 提供給開發(fā)調(diào)用的 API 接口。ValidataImpl 實(shí)現(xiàn)數(shù)據(jù)完整性校驗(yàn),包括數(shù)據(jù)量級(jí)、標(biāo)簽量級(jí)、數(shù)據(jù)環(huán)比、標(biāo)簽搜索;數(shù)據(jù)準(zhǔn)確行校驗(yàn),包括數(shù)據(jù)數(shù)據(jù)唯一性、數(shù)據(jù)關(guān)聯(lián)性。
?(二)洞察畫像算法服務(wù)?
大數(shù)據(jù)洞察畫像算法服務(wù)主要是為了摒棄繁瑣的 SQL 輸入與手工計(jì)算,根據(jù)項(xiàng)目信息自動(dòng)生成相應(yīng)的算法 SQL,實(shí)現(xiàn) SQL 之間的不同計(jì)算,同時(shí)也提供洞察算法匯總,提供相應(yīng)的算法 API 服務(wù)。
整體思路:基于目前消費(fèi)者洞察的業(yè)務(wù)架構(gòu),實(shí)現(xiàn)了基于 Clickhouse 模塊的自動(dòng)化測試架構(gòu)。
應(yīng)用層:主要是根據(jù)不同的標(biāo)簽,價(jià)格條件及行業(yè)實(shí)現(xiàn)各類算法匯總,包括本品洞察,競品洞察,換品洞察,行業(yè)細(xì)分洞察等;該層也將提供后續(xù)需求及功能迭代的算法。
數(shù)據(jù)服務(wù):提供相應(yīng)的算法 API 服務(wù),實(shí)現(xiàn)各類算法的接口調(diào)用。
@RequestMapping("/userProfile")public String userProfile(@RequestParam String projectId) @RequestMapping("/insight/summary")public String summaryInsight(@RequestParam String projectId,@RequestParam String key)???????
@RequestMapping("/insight/avg")public String avgInsight(@RequestParam String projectId,@RequestParam String key)實(shí)現(xiàn) Clickhouse 連接:Clickhouse 的連接與 MySQL 一致,方便快捷。
整合 goapi(接口管理平臺(tái))與 overmind(企業(yè)研發(fā)效能平臺(tái))實(shí)現(xiàn) CI:
goapi 實(shí)現(xiàn)場景用例與結(jié)果斷言,使用 overmind 的需求 CI 與功能場景模塊化調(diào)用,當(dāng)開發(fā)洞察需求提測時(shí),自動(dòng)觸發(fā)場景用例調(diào)用,實(shí)現(xiàn)自動(dòng)化校驗(yàn)與提測/發(fā)布卡點(diǎn)。
()
Clickhouse 雖然有豐富的函數(shù),但是有些函數(shù)的性能會(huì)很差,測試時(shí)發(fā)現(xiàn) hasAny 的函數(shù)在大數(shù)據(jù)及行業(yè)平均值計(jì)算中耗時(shí)非常嚴(yán)重,所以在開發(fā)與測試中均規(guī)避了該函數(shù),而采用行轉(zhuǎn)列的方式實(shí)現(xiàn)。
由于大數(shù)據(jù)畫像對于精度要求比較高,而 Clickhouse 在處理精度高的情況會(huì)導(dǎo)致精度缺失,所以在處理高精度的時(shí)候最好自己處理下精度丟失。
Clickhouse 在處理 Where 條件多變的情況下,性能會(huì)比較差,如果業(yè)務(wù)的 Where 條件非常豐富與多變,當(dāng)存在多個(gè)項(xiàng)目同步洞察的情況,畫像返回會(huì)變得相當(dāng)慢。
?(四)成果?
測試覆蓋度提高
-
未引入:抽樣覆蓋了數(shù)據(jù)標(biāo)簽量級(jí),標(biāo)簽搜索。
-
引入后:覆蓋數(shù)據(jù)量級(jí)、標(biāo)簽量級(jí)、數(shù)據(jù)環(huán)比、標(biāo)簽上下線、標(biāo)簽搜索、標(biāo)簽唯一行、標(biāo)簽關(guān)聯(lián)性。
測試效率提高
-
未引入:數(shù)據(jù)同步測試需要 1人/天,洞察算法測試需要 2人/天。
-
引入后:無需人力投入測試回歸。
五、總結(jié)
消費(fèi)者洞察業(yè)務(wù),后續(xù)也將會(huì)承載新的行業(yè)用戶分析,但不管接入什么行業(yè),其本質(zhì)還是對用戶標(biāo)簽及行為進(jìn)行解析形成畫像及洞察能力,而在其中承載的支柱:數(shù)據(jù)&算法,可以在大數(shù)據(jù)畫像自動(dòng)化測試服務(wù)中得到很好的迭代及維護(hù)。
作者介紹?
丁龍,網(wǎng)易云商高級(jí)系統(tǒng)測試工程師,目前主要負(fù)責(zé)網(wǎng)易云商問卷調(diào)研及消費(fèi)者洞察測試工作。
總結(jié)
以上是生活随笔為你收集整理的大数据洞察画像自动化实践的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 网易云信三个课堂解决方案,让每个孩子都能
- 下一篇: JDK、Spring、Dubbo SPI