?

国产精品高潮呻吟久久AV无码,在线观看亚洲糸列,888奇米亚洲影视四色,中文字幕动漫精品第1页,国产大屁股视频免费区,半夜他强行挺进了我的体内,免费看国产曰批40分钟,国产女人片最新视频,要做AV在线播放,欧美韩日精品一区二区三区

諸葛io創(chuàng)始人孔淼:大數據浪潮下,諸葛io平臺的技術演化之路

【數據猿導讀】 從本質上來講,大數據平臺的目標都是完成對數據的采集、清洗、加工、加載、建模分析,可視化的過程。本文,諸葛io創(chuàng)始人孔淼將給大家分享大數據浪潮下,諸葛io平臺的技術演化之路

諸葛io創(chuàng)始人孔淼:大數據浪潮下,諸葛io平臺的技術演化之路

來源:數據猿 作者:孔淼

從本質上來講,大數據平臺的目標都是完成對數據的采集、清洗、加工、加載、建模分析,可視化的過程。

一、大數據平臺的通用架構

1. 數據采集

采集是指集中企業(yè)待分析的原始數據的過程,例如可能是包含但不限于以下:

a.企業(yè)服務器的日志;

b.企業(yè)各種信息系統(tǒng)的數據(CRM/ERP/數據庫);

c.企業(yè)的網站/App/小程序等客戶端的用戶行為記錄;

d.使用的第三方系統(tǒng)(客服、IM、HR)提供的API;

采集的方式基本上分為兩種:

PUSH模式:企業(yè)的數據一般來講都是散落在很多地方,各種系統(tǒng)或者各種服務器,所以有一個數據采集中心,然后在各個數據產生的位置都有一個agent(可以認為是采集程序)然后朝數據采集中心發(fā)送數據的過程就是PUSH,比如在App或者網站植入了SDK,定期發(fā)送采集到的用戶行為數據到服務端的過程就是PUSH模式;

PULL模式:企業(yè)有數據采集中心,從采集中心去訪問獲取各個數據產生點的數據,這個過程就是PULL,比如從企業(yè)的數據中心去調用第三方系統(tǒng)的API獲取數據,就是PULL模式。

2. 數據的清洗

數據清洗的過程是指對數據進行一些處理,過濾無用的信息,規(guī)范得到我們能用到的數據。包括但不限于以下情況:

a.過濾SPAM垃圾數據,例如被攻擊/造假/BUG產生的大量數據

b.抽取有用字段,例如上傳的數據包含的信息很多,我們只用到一小部分

c.原始數據有很多格式不規(guī)范,要統(tǒng)一格式

3. 數據的加工

數據加工是指清洗后的數據,還需要補充一些信息,可能是通過數據庫查詢出來的,也可能是通過計算規(guī)則計算出來的,或者算法技術加工出來的新字段。

例如,數據里面有個ip地址,需要計算出用戶的地理位置,那么地理位置就是加工出來的字段。一般來講,對于大多數大數據分析平臺而言,加工是很重要的過程,基本上最后可用來進行分析的數據,要通過這一步充分完成加工計算。

4. 數據加載

數據加載是指把加工后的數據加載到合適的存儲,可能是Hadoop集群的HDFS上,也可能是某個數據庫,有可能是文件等等其他存儲類型。

5. 建模分析

建模分析是指在查詢前需要把數據進行處理,以優(yōu)化查詢,例如以下:

a.數據倉庫建好了倉庫模型,要把數據加載到數據倉庫中

b.需要做數據索引,把數據進行索引優(yōu)化

數據模型很重要,是整個數據處理分析的核心之一。每個企業(yè)都有自己的核心業(yè)務,以及核心目標,并且也有各自的數據源以及數據類型,所以也就意味著每一家企業(yè)的數據模型多少都會有些差異,也就是最個性化的一個地方,數據倉庫就是這個數據模型的載體,一般來講數據就是數據庫技術,常見數據庫之外,還有Infobright,Greenplum,Vertica,也有基于Hadoop技術的,用HDFS作為基礎的存儲,然后使用的查詢引擎,包括Imapla,Presto,SparkSQL等等。

通常而言,數據團隊要進行復雜的查詢和分析,都是在此基礎之上,通過SQL語言或者代碼查詢來實現(xiàn)的。

6. 可視化

可視化是最終分析結果要展示的過程,例如“雙十一”酷炫的圖表,一般企業(yè)都有自己的數據看板等等。

可視化背后主要是執(zhí)行SQL或者運行代碼得到的數據結果,可能是一維,也可能是二維,還有可能是多維,然后選擇合適的圖表類型進行展示,例如“線狀圖”、“柱狀圖”、“餅狀圖”、“雷達圖”、“中國地圖”等等。

剛剛講的主要是通用的大數據平臺整個數據處理的方式,不知道是否講的通俗易懂,接下來我就從諸葛io與通用的數據平臺的差異入手,然后帶入我們的技術設計。

首先,諸葛io的整套技術能夠做到的是,對企業(yè)分析流程的效率提升。

大多數企業(yè)的分析現(xiàn)狀:自建或者第三方統(tǒng)計平臺(百度統(tǒng)計/友盟/Talkingdata)+ 數據BI團隊(早期團隊人數很少,甚至是一兩個工程師兼任);

自建或者第三方統(tǒng)計平臺:大多都是匯總統(tǒng)計指標平臺。對通用指標(例如PV、UV、DAU、留存)的計算,對企業(yè)設定好的業(yè)務行為(打車、訂單、參與、金額)等匯總統(tǒng)計人數或者次數,數據平臺存儲的都是指標的匯總結果。指標的選擇和下鉆分析都需要數據團隊的支撐。

數據BI團隊:完成基礎數據平臺的搭建,并且梳理核心業(yè)務分析目標,對基礎數據進行采集建模,并完成各個部門的分析需求。

所以大家可以看到最開始上面那張圖就是大多數企業(yè)現(xiàn)在的分析現(xiàn)狀:

基本上先統(tǒng)一由大數據部門整理輸出各部門日常固定的數據指標,然后做個可視化,比如一個簡單的頁面。

如果有新的分析需求,已經建模好的,那么數據團隊就需要根據業(yè)務去寫SQL然后得到結果,如果沒有建模好的,就需要開始采集原始數據,然后重新開始清洗,這樣一個過程,往往都比較反復耗時,分析效率很低。主要原因是,這樣一種分析流程,是由固定的業(yè)務指標驅動數據的采集和處理,然后數據處理的過程基本上都是多維匯總的統(tǒng)計和計算。

所以也就造成了問題:各個業(yè)務部門的分析需求需要依賴數據團隊專業(yè)的數據分析能力進行問題建模,并且依賴他們SQL語言或者代碼能力完成分析目標。但數據部門往往也有核心的分析需求和任務,所以公司變大過程中很多問題變得很低效。


二、諸葛io平臺技術的演化之路

諸葛io的整個數據處理也是符合上面的整個流程,我們和其他數據分析平臺,尤其是傳統(tǒng)數據平臺,按照處理過程抽象的差異主要如下:

諸葛io的分析能力遠遠大于目前大多數的統(tǒng)計平臺,我們把很多深入的分析場景,依賴數據團隊進行建模以及SQL/代碼等專業(yè)能力,變成了可視化的分析組件。這樣極大的提高了企業(yè)的數據分析效率,并且我們還有專業(yè)的數據分析看板,輔助企業(yè)梳理了解分析需求和目標。

諸葛io的亮點如下:

1. 在線實時多維查詢,用交互式組件替代SQL和代碼。例如以前需要SQL完成的查詢,現(xiàn)在只需要如下:

2. 豐富的分析組件,支持市場/產品/運營部門的大多數場景分析;

用戶群:根據用戶的新增情況,觸發(fā)行為,用戶字段篩選待分析的用戶

?

事件分析:對某個業(yè)務行為的參與情況

漏斗分析:用戶的轉化情況

用戶行為路徑:用戶的行為路徑

自定義留存:某個功能或者某個業(yè)務用戶的持續(xù)參與

分析API和數據API,完全掌控您的數據,基于諸葛io靈活擴展:

除此之外,細致入微的產品設計,貫穿分析過程,例如:

  1. a.點擊數字到用戶畫像的洞察;
  2. b.漏斗的無序和有序;
  3. c.用戶群“新增后X天”;
  4. d.還有更多的場景,可以去感受和體驗;

這樣一來,回到剛剛的圖片:

我們在建模時非常抽象,并且基于獨立用戶跟蹤了整個業(yè)務的流程,所以不只是指標任意的配置可視化,很多以前依賴于SQL和清洗代碼的邏輯,也變成了交互式的查詢組件,所以能提高效率,那我們是怎么做到的呢?先來看看我們整體的架構:

首先看看數據采集端,我們提供豐富的接口和SDK,能夠采集到企業(yè)各個有用戶行為數據的地方,目前來講,主要分為以下:

  1. a.Android客戶端 : Android SDK
  2. b.iOS客戶端 : iOS SDK
  3. c.網站或微站H5 :Javascript SDK
  4. d.小程序:小程序SDK
  5. e.日志::服務端Restful接口
  6. f.CRM數據庫 :導入工具

也就是采用了“PUSH”模式,各個端采集用戶的行為,然后再按照規(guī)則發(fā)送給我們的數據收集中心,各個端也就寫了一些SDK,讓開發(fā)者調用采集,然后就是我們的數據收集端:

上圖是我們的數據收集架構: 核心就是LVS+Nginx+Lua,我們沒有用比較重的后端語言來采集,而是選擇了比較輕的Lua腳本語言,在nginx中集成就能完成高并發(fā)的復雜,LVS做解析服務器的負載均衡,后面是多個Nginx,然后Nginx本身就是高性能高并發(fā)服務器,所以并發(fā)的承載能力非常強。

諸葛io采用的是HTTPS加密傳輸,以及支持HTTP2協(xié)議:

a.采用HTTPS的原因是,防止數據在傳輸過程中被抓包截獲;

b.采用HTTP2協(xié)議,服務端的處理性能能夠極大的提升,連接也有優(yōu)化。

使用LVS的原因是,雖然Nginx的性能很高,但是在高并發(fā)壓力情況下,我們能夠快速添加Nginx節(jié)點,再加上數據采集是異步,所以大流量情況下,LVS+Nginx基本上都能保證不會出現(xiàn)連接等待的情況了。

Lua是一種輕型的腳本語言,直接在nginx配置中嵌入,在很多游戲的服務端架構以及電商秒殺的架構中使用。我們服務端接收到上傳數據之后,Lua會進行解析,并且添加上傳時一些信息(ip,服務端時間,User-Agent)等等,然后push到Kafka的集群。

我們這套架構也是在諸葛io的日上傳數據量逐步上漲過程中,逐步演化出來的。

簡單來講,數據采集具有以下特點:

a.高并發(fā);

b.高伸縮性性;

c.HTTPS安全傳輸;

然后就是數據清洗。諸葛io采集到的數據會有以下幾個問題需要處理:

a.垃圾數據:亂碼或者埋點錯誤產生的數據

b.作弊數據:惡意進行注入偽造的數據

c.淘汰數據 : 已經棄用的SDK版本數據

所以我們會完成對于上述數據的清洗。清洗完的數據,諸葛io還會進行一些信息加工,包括但不限于以下:

a.識別用戶和設備的身份關系

b.加工字段:地理位置、UTM推廣信息、設備、系統(tǒng)版本(網站或者微站根據UA)

c.事件行為匹配系統(tǒng)id

加工信息之后,我們還會對數據按照我們的數據模型進行格式轉化和預計算處理,得到我們所需要的最優(yōu)于查詢的數據。

關于數據清洗加工部分,我們和其他大數據技術還有一些差異:

a.獨立的用戶行為跟蹤;

b.基于用戶身份的數據整合;

c.精準的用戶和設備關系識別;

d.事件的標簽化;

接下來是數據加載。數據加載的過程,就是把我們數據處理后的結果寫入存儲,這里,諸葛io主要加載的目標位置有以下:

1. 原始數據備份:

  1. a.AWS S3
  2. b.HDFS(私有部署)

2. 加工后的數據:

a.AWS S3

b.HDFS(私有部署)

3. 模型數據倉庫

a.Redshift

b.Greenplum(私有部署)

因為諸葛io同時支持SaaS和私有部署,私有部署我們采用的方案會有差異,S3和HDFS都是文件訪問,所以業(yè)務層基本是一致,S3是因為存儲成本低,HDFS是大多數企業(yè)的Hadoop平臺。加工后的數據同上。

模型倉庫,Redshift和Greenplum都是基于PostgreSQL的。我們加上自定義函數,在數據訪問層保持一致

然后在建模分析的過程,建模分析的核心是諸葛io的數據模型,也就是我們的數據倉庫設計,諸葛io現(xiàn)在的核心數據模型,分為以下主題:

用戶:用戶的屬性信息;

事件(行為):

a.事件的屬性信息;

b.事件的觸發(fā)環(huán)境;

行為發(fā)生平臺:平臺(設備)的基礎信息;

諸葛io的數據模型底層都已經對用戶和行為進行建模,我們從上層指標的計算,可以直接下鉆用戶群體,并且對于用戶的行為歷史也有完整的還原和實時的洞察。

傳統(tǒng)的數據分析平臺都以設備進行統(tǒng)計,我們是基于用戶的,所以用戶和設備的關系我們能精準還原。

諸葛io的數據查詢和訪問:

數據訪問層,是諸葛io把基于數據倉庫的SQL查詢訪問抽象了一層服務,分為對內和對外兩部分,用以控制對數據訪問的統(tǒng)一管理。主要分為兩部分:

a.對內是通過統(tǒng)一的API服務來進行訪問

b.對外是有Open API的開放平臺

可視化查詢在諸葛主要是通過諸葛io的網站進行完成,并且在技術上也是基于數據訪問層實現(xiàn)。可視化在諸葛主要分為兩部分:

a.數據指標展現(xiàn)的可視化

b.查詢操作的可視化

指標展現(xiàn)可視化,包括不限于表格、柱狀圖、線圖、漏斗。回到整個架構上:

可以看到有消息中心,諸葛io的消息中心是以Kafka為中心進行設計的。

消息中心主要處理包含以下業(yè)務消息的匯集和分發(fā):

a.各種SDK或者工具上傳的數;

b.數據清洗產生的中間的數據;

c.模型結果數據;

d.備份數據;

e.其他流式處理數據;

Kafka具有多消費組的特點,也就意味著,我們可以在不同應用場景下對統(tǒng)一數據進行多種處理,并產生多種應用,例如下面場景:

我們收集到各種數據,并會添加到Kafka消息中心,然后會有以下不同消費應用:

a.進行元數據統(tǒng)計管理

b.進行備份

c.進入數據倉庫模型前的清洗

d.進行實時的統(tǒng)計計算;

實時計算中心,我們用的是Spark Streaming進行處理,也有其他套件輔助我們進行一些數據挖掘,實時數據和關系緩存,我們用的是Codis以及SSDB,Codis是分布式的Redis實現(xiàn)框架(由前豌豆莢團隊開源)我們會用來做分布式的消息以及狀態(tài)存儲,而SSDB是基于Redis協(xié)議的硬盤實現(xiàn)(作者是懶投資的CTO吳總)我們會存儲一些鍵值比較大或者多的數據,例如實時數據以及數據緩存。

基礎存儲剛剛講過了主要是S3,索引用的是Elasticsearch,比如查詢時的提示等等,在線多維實時數據處理查詢就是Redshift和Greenplum了,然后我們統(tǒng)一了整個數據訪問層以及API,并且分為內部和外部API,對外就是網站和開放平臺了。


注:本文由 諸葛io 投稿數據猿發(fā)布。

歡迎更多大數據企業(yè)、愛好者投稿數據猿,來稿請直接投遞至:tougao@datayuan.cn


來源:數據猿

聲明:數據猿尊重媒體行業(yè)規(guī)范,相關內容都會注明來源與作者;轉載我們原創(chuàng)內容時,也請務必注明“來源:數據猿”與作者名稱,否則將會受到數據猿追責。

刷新相關文章

旅游交通大數據——大眾旅游時代的“富礦”
旅游交通大數據——大眾旅游時代的“富礦”
#榜樣的力量#疾控AI分析平臺WDCIP——以科技力量貢獻“大數據”智慧丨數據猿新冠戰(zhàn)“疫”公益策劃
#榜樣的力量#疾控AI分析平臺WDCIP——以科技力量貢獻“大數...
張涵誠:大數據招商平臺可推動地方供給側改革
張涵誠:大數據招商平臺可推動地方供給側改革

我要評論

精品欄目

[2017/12/19]

大數據24小時

More>

[2017/12/18-22]

大數據周周看

More>

[2017/12/18-22]

大數據投融資

More>

[2017/12/18-22]

大咖周語錄

More>

[2017/12/13-20]

大數據周聘匯

More>

[2017/12/12-19]

每周一本書

More>

返回頂部