HDFS+Clickhouse+Spark:從0到1實現一款輕量級大數據分析系統

導語 | 在產品精細化運營時代,經常會遇到產品增長問題:比如指標漲跌原因分析、版本迭代效果分析、運營活動效果分析等。這一類分析問題高頻且具有較高時效性要求,然而在人力資源緊張情況,傳統的數據分析模式難以滿足。本文嘗試從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] https://zhuanlan.zhihu.com/p/54907288

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

本文轉載自公衆號雲加社區(ID:QcloudCommunity)。

原文鏈接

https://mp.weixin.qq.com/s/3kk9oGJaoVrcWUONkYk38Q

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章