美圖擁有十億級用戶,天天有數千萬用戶在使用美圖的各個產品,從而積累了大量的用戶數據。隨着App的不斷迭代與用戶的快速膨脹,產品、運營、市場等愈來愈依賴於數據來優化產品功能、跟蹤運營效果,分析用戶行爲等,隨之而來的有愈來愈多的數據統計、分析等需求,那麼如何應對和知足不斷膨脹的數據統計與分析需求?業務的不斷髮展又怎麼推動架構實現的改造?本文將介紹大數據業務與技術的碰撞產物之一:美圖大數據統計分析平臺的架構演進,但願經過此次分享能給你們帶來一些解決數據業務與架構方面的思考。 git
美圖統計平臺的架構實現:更進一步,在作這個平臺時,咱們可能須要考慮如下幾個比較重要的點:第一,咱們可能須要對統計任務有一個比較清晰的元數據描述,能夠描述出這些統計任務的計算方式是什麼樣子,算子是什麼。第二是這個統計任務的數據源來自於哪裏,以及數據須要存儲在什麼地方更合適業務查詢。第三個是須要有一個調度中心來統一調度全部統計任務的執行。第四要確保任務的最終的正確執行。github
基於上面這幾個點,考慮須要有一些不一樣的模塊來負責上面的說的幾大功能。咱們大概有設計三個模塊:第一個模塊是JobManager,主要是提供平臺,供應用方比較方便的配置,能管理任務元數據信息以及其餘的數據倉庫、app信息的管理等。第二個模塊是Scheduler,就是任務的調度中心,負責調度全部的統計任務。第三是任務執行模塊JobExecutor,負責任務從查詢、聚合到最終的結果落地存儲。apache
隨着大數據愈來愈被重視,數據採集的挑戰變的尤其突出。這裏有幾款數據採集平臺:架構
Apache Flume:Flume 是Apache旗下的一款開源、高可靠、高擴展、容易管理、支持客戶擴展的數據採集系統。 Flume使用JRuby來構建,因此依賴Java運行環境。Fluentd:Fluentd是另外一個開源的數據收集框架。Fluentd使用C/Ruby開發,使用JSON文件來統一日誌數據。它的可插拔架構,支持各類不一樣種類和格式的數據源和數據輸出。最後它也同時提供了高可靠和很好的擴展性。Treasure Data, Inc 對該產品提供支持和維護。Logstash:Logstash是著名的開源數據棧ELK (ElasticSearch, Logstash, Kibana)中的那個L。Chukwa:Apache Chukwa是apache旗下另外一個開源的數據收集平臺,它遠沒有其餘幾個有名。Chukwa基於Hadoop的HDFS和Map Reduce來構建(顯而易見,它用Java來實現),提供擴展性和可靠性。Chukwa同時提供對數據的展現,分析和監視。很奇怪的是它的上一次github的更新事7年前。可見該項目應該已經不活躍了。Scribe和Splunk Forwarder。app
綜上所述,我認爲任何完整的大數據平臺,通常包括如下的幾個過程:數據採集、數據存儲、數據處理和數據展示(可視化,報表和監控)。按照這個流程下去才能對自身所擁有的數據進行最好的使用。框架
文章來源:oop
https://mp.weixin.qq.com/s?__biz=MjM5OTcxMzE0MQ==&mid=2653370211&idx=1&sn=cd4f8a3499dcb5bbe091252b68bc014c&chksm=bce4d7798b935e6faf306c223b8482d61ea8b9dd1f40dd269d56c6d75abb4bbd69ce9abff26b&scene=21#wechat_redirect大數據