HDFS+ClickHouse+Spark:從0到1實現一款輕量級大資料分析系統

騰訊雲+社群發表於2020-07-14

在產品精細化運營時代,經常會遇到產品增長問題:比如指標漲跌原因分析、版本迭代效果分析、運營活動效果分析等。這一類分析問題高頻且具有較高時效性要求,然而在人力資源緊張情況,傳統的資料分析模式難以滿足。本文嘗試從0到1實現一款輕量級大資料分析系統——MVP,以解決上述痛點問題。

文章作者:資料熊,騰訊雲大資料分析工程師。

一、背景及問題

在產品矩陣業務中,通過儀表盤可以快速發現增長中遇到的問題。然而,如何快速洞悉問題背後的原因,是一個高頻且複雜的資料分析訴求。

如果資料分析師通過人工計算分析,往往會佔用0.5-1天時間才能找到原因。因此,人工計算分析方式,佔用人力大,且資料分析效率低。

HDFS+ClickHouse+Spark:從0到1實現一款輕量級大資料分析系統

另外,產品版本迭代與業務運營活動,也需要對新版本、新功能、新活動進行快速資料分析,已驗證效果。因此,在產品矩陣業務精細化運營中,存在大量的資料分析訴求,且需要快速完成。

在傳統的資料分析模式下,對於每個需求,一般需要經歷3-5天才能解決問題。除此之外,該模式還需要大量資料分析師對接需求。因此,在資料分析師人力緊缺情況下,該模式無法滿足產品增長的資料分析訴求。

二、解決辦法

在傳統資料分析模式失效情況下,急需開拓新的資料分析模式,以快速滿足產品增長的資料分析訴求。

為此,筆者和專案小團隊從0到1實現一款輕量級大資料分析系統——MVP,希望通過MVP資料分析,驅動產品從"Minimum Viable Product" to "Most Valuable Product"。

除此之外,通過MVP資料分析系統,一方面希望提升資料分析效率;另一方面希望節省資料分析人力。

MVP資料分析系統分為四個模組,在產品業務-經營指標模組,基於AARRR模型對產品增長指標分析,分析產品增長北極星指標;在指標異常-根因預警模組,對增長指標異動進行監控,並提供根因線索;在分析工具-增長分析模組,對使用者行為進行深入分析,洞悉使用者行為;在AB-Test實驗評估模組,對業務決策方案進行實驗,評估業務決策的合理性。通過四個模組,實現資料分析驅動產品精細化運營。

三、技術實現

一款輕量級大資料分析系統,至少需要從資料建模、技術選型、頁面互動三方面實現。資料建模如水流,貫穿整個資料分析系統;技術選型是基礎設施,支撐整個系統高效運轉;頁面互動是面向使用者,用資料說話,對業務增長進行資料賦能。

1. 資料建模

在開發MVP之前,由於歷史原因,現有的產品矩陣中產品與產品之間,存在資料建設分散、資料開發重複、資料隔離等問題,一個使用者會存在多條資訊記錄。

這種資料格局,不僅會導致計算、儲存、人力資源的浪費,更嚴重的是會很大程度影響上層資料應用的效率。因此,舊的資料模式行不通,需要開拓新的資料模式。

MVP資料分析系統底層資料建設,一方面基於“使用者(User)+事件ID(Event)+配置(Config)”思路,對產品資料資訊進行高度抽象整合,收斂產品矩陣業務資料;另一方面,基於Key-Value模型,生成使用者大寬表,一個User_Id僅有一條記錄資訊。

 

2. 技術選型

在日常產品資料視覺化中,通常會想到使用MySQL進行頁面互動式資料分析,但是MySQL資料庫承載資料能力在百萬級,適合對結果型資料進行分析,對於上億級資料是無能為力。

在複雜的資料分析場景中,通常需要基於使用者畫像與使用者行為,對使用者進行OLAP多維自由交叉組合分析。因此,對於百萬級以上的產品業務,使用MySQL是無法滿足OLAP實時分析,需要嘗試新的技術選型。

為了實現實時OLAP分析,對業界的大資料分析平臺的技術方案我們進行了調研比較。業界儲存引擎主要是HDFS與HBASE,計算引擎使用比較多的是Impala,Druid,ClickHouse,Spark。Druid系統維護成本高,無Join能力,且語法應用相對複雜。

從計算速度角度,ClickHouse比Presto快2倍+,比Impala快3倍+,比SparkSql快約4倍,計算效能比較如下。

實測資料,對2.2億+條1.79GB記錄資料,進行單表聚合0.095s,分析速度18.95GB/s。

 

和Impala相比,ClickHouse可以通過JDBC直接匯入,資料匯入成本低,ClickHouse系統維護成本相對低。另外,ClickHouse語法簡單,易用性很強,對頁面開發友好,可以快速開發出視覺化頁面。

基於上面這些因素,我們採用HDFS+ClickHouse+Spark技術方案。在這裡,使用Spark補齊ClickHouse無法進行大規模Join操作短板,比如處理大規模複雜的關聯分析任務。

另外,Spark可以無縫訪問HDFS中Hive表資料,無需重新導資料,應用效率高。使用HDFS儲存歷史全量標籤與行為資料(佔比約80%),使用ClickHouse儲存近期標籤與行為資料(佔比20%)。

3. 頁面互動

MVP頁面互動形式,80%資料分析訴求是可以直接通過頁面實時分析完成,剩下約20%複雜分析任務,是通過提交任務式分析完成。

頁面實時分析秒級返回分析結果,提交任務式分析需要5-15分鐘返回結果。經營指標體系、事件模型分析、漏斗模型分析、留存模型分析等,是通過頁面實時分析完成,使用者人群畫像洞察、使用者興趣偏好洞察是通過提交任務式分析完成。

4. 應用效果

按照傳統資料分析模式,根據“提出需求->需求評審->寫需求單->資料分析->輸出結果”的規範流程,資料訴求需要經歷3-5天才能解決問題,通過MVP系統可以快速完成資料分析訴求,大大縮短工期,對分析效率提升明顯。目前MVP資料分析系統已經在內部使用,近期,使用MVP進行資料分析任務數達到1500+,高峰突破兩千次。

 

從“人工資料分析 -> 工具化資料分析”的轉變,對資料分析效率提升明顯,更有利於資料驅動產品精細化運營。

5. 總結

本文嘗試介紹從0到1實現一款輕量級大資料分析系統——MVP。目前MVP資料分析系統已經在內部使用,對於提升資料分析效率明顯,為資料驅動產品業務增長賦能。同時,節省了資料分析師的人力投入。後期,基於產品矩陣業務,在完善現有模組情況下,還將對各個增長工具進行進一步打磨,提升MVP使用體驗。

MVP乘風出海,結合先悉資料平臺服務產業端

MVP作為內部系統,目前為部門在移動資料分析中節約了大量的時間成本,並沉澱了豐富的網際網路分析模板與工具。在部門服務行業客戶過程中,我們發現MVP所代表的移動資料分析解決方案,是目前傳統產業數字化轉型同樣需要的必備工具。

為此,後續我們利用輕量級資料平臺——先悉作為資料底座,解決了MVP對外部署的底層平臺問題,開發了可單獨私有化交付給行業客戶使用的MVP toB版本,幫助行業客戶通過實時使用者行為分析、畫像洞察為驅動,優化運營策略。

先悉資料平臺是一款輕量級的大資料平臺產品,有部署價效比高、運維便利、可私有化等特點,能夠以“小而美”的方式滿足中小規模專案的大資料應用落地。在具體專案實踐中,先悉資料平臺+MVP形成了一套優勢互補的組合,目前已經開始為行業客戶提供“開箱即用”的移動分析服務。

先悉功能簡介:

  • 先悉具備高效能、批流一體的大資料元件,無需自行部署各類繁雜的開源元件,快速實現私有化資料平臺的部署;

  • 先悉提供視覺化任務流,作為資料開發平臺,結合Spark SQL及我們提供的SPL,在圖形化介面快速開發一款資料應用;

  • 先悉自帶強大視覺化圖表能力,可快速建立一個視覺化站點,向同事、客戶及領導展示您的資料指標。

先悉資料平臺諮詢/商務合作:Xdata_Suite@tencent.com

參考文章:

[1] https://zhuanlan.zhihu.com/p/54907288

[2] https://clickhouse.tech/docs/en/sql-reference/statements/create/

看騰訊技術,學雲端計算知識,關注雲加社群

相關文章