HDFS+ClickHouse+Spark:從0到1實現一款輕量級大數據分析系統
- 2020 年 7 月 14 日
- 筆記
在產品精細化運營時代,經常會遇到產品增長問題:比如指標漲跌原因分析、版本迭代效果分析、運營活動效果分析等。這一類分析問題高頻且具有較高時效性要求,然而在人力資源緊張情況,傳統的數據分析模式難以滿足。本文嘗試從0到1實現一款輕量級大數據分析系統——MVP,以解決上述痛點問題。
文章作者:數據熊,騰訊雲大數據技術專家。
一、背景及問題
在產品矩陣業務中,通過儀錶盤可以快速發現增長中遇到的問題。然而,如何快速洞悉問題背後的原因,是一個高頻且複雜的數據分析訴求。
如果數據分析師通過人工計算分析,往往會佔用0.5-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,在圖形化介面快速開發一款數據應用;
-
先悉自帶強大可視化圖表能力,可快速建立一個可視化站點,向同事、客戶及領導展示您的數據指標。
先悉數據平台諮詢/商務合作:[email protected]
參考文章:
[1] //zhuanlan.zhihu.com/p/54907288
[2] //clickhouse.tech/docs/en/sql-reference/statements/create/
看騰訊技術,學雲計算知識,關注云加社區