中文字幕在线观看,亚洲а∨天堂久久精品9966,亚洲成a人片在线观看你懂的,亚洲av成人片无码网站,亚洲国产精品无码久久久五月天

貝殼:流式數(shù)據(jù)的平臺(tái)化實(shí)踐與挑戰(zhàn)

2019-08-21    來(lái)源:raincent

容器云強(qiáng)勢(shì)上線!快速搭建集群,上萬(wàn)Linux鏡像隨意使用

總體架構(gòu)

 

 

貝殼找房大數(shù)據(jù)的整體架構(gòu),從下到上分為四層:

基礎(chǔ)平臺(tái)層。這一層應(yīng)用的都是比較常見(jiàn)的技術(shù):HDFS 分布式存儲(chǔ),yarn 分布式調(diào)度,以及 HBase 存儲(chǔ),另外還有一些計(jì)算引擎,如 hive、tez、spark、presto、kylin、clickhouse、SparkML 等來(lái)滿足各種各樣的基礎(chǔ)需求,同時(shí)還有高性能的計(jì)算機(jī)集群。

基礎(chǔ)平臺(tái)層的工作總結(jié)起來(lái)包括:

一體化監(jiān)控
提供強(qiáng)安全保障
高穩(wěn)定高效率運(yùn)行
低成本解決方案

能力匯聚層。大家知道每年都有大量的開(kāi)源組件,那么如何讓上層的業(yè)務(wù)方更好的應(yīng)用這些組件,就是能力匯聚層要完成的工作:

Queryengine,可以通過(guò) queryengine 使用 hive、tez、spark、presto 來(lái)查詢整個(gè)底層存儲(chǔ)的數(shù)據(jù)。

Olap 平臺(tái),通過(guò)封裝 kylin(預(yù)構(gòu)建)、HBase、Phoenix、presto、clickhouse(流量分析)等引擎能力,打造統(tǒng)一的 olap 平臺(tái)來(lái)滿足業(yè)務(wù)方不同的需求。

流式計(jì)算平臺(tái),這個(gè)是今天要分享的主題,包括流式計(jì)算產(chǎn)品天眼(原秒 X 平臺(tái));然后是數(shù)據(jù)直通車,它是貝殼平臺(tái)打造的一個(gè)數(shù)據(jù)接入平臺(tái),可以進(jìn)行實(shí)時(shí)接入和離線接入。

加速計(jì)算平臺(tái),底層有高性能集群,上層就需要有加速計(jì)算平臺(tái),來(lái)滿足業(yè)務(wù)方機(jī)器學(xué)習(xí)或者深度學(xué)習(xí)的需求。

能力匯聚層的工作總結(jié)起來(lái)包括:

統(tǒng)一入口
靈活分析
能力提效

更上層就是數(shù)據(jù)倉(cāng)庫(kù)做的事情:

數(shù)據(jù)內(nèi)容層。這層主要是做統(tǒng)一數(shù)據(jù)湖,新房數(shù)據(jù)湖等等一些數(shù)據(jù)治理的工作來(lái)構(gòu)建數(shù)據(jù)倉(cāng)庫(kù),以滿足更上層業(yè)務(wù)方的需求。

能力輸出層。

Adhoc 即席查詢,比如貝殼找房這邊有些城市站,有運(yùn)營(yíng)市場(chǎng),adhoc 可以直接寫一些 sql,調(diào)用 queryengine,最終通過(guò)各種各樣引擎的能力,來(lái)滿足即席查詢的需求。

我們還引進(jìn)了 Tebleau 軟件,可以用來(lái)做 BI 分析,它的底層也是調(diào)用 queryengine 查詢數(shù)據(jù)內(nèi)容層的數(shù)據(jù)。

同時(shí)我們也構(gòu)建了統(tǒng)一指標(biāo)平臺(tái);圖靈,滿足經(jīng)紀(jì)人的需求;羅盤,滿足一些流量分析的需求。

能力輸出層的工作總結(jié)起來(lái)包括:

基礎(chǔ)支撐
數(shù)據(jù)組合能力
賦能業(yè)務(wù)
數(shù)據(jù)流流程

 

 

要理解流式數(shù)據(jù),首先要知道數(shù)據(jù)流的流程:

數(shù)據(jù)接入。為了做好數(shù)據(jù)分析,同時(shí)給用戶畫像、數(shù)據(jù)挖掘等提供數(shù)據(jù)物料,就需要做好數(shù)據(jù)接入層,一般情況下我們面臨的問(wèn)題主要有:

① 多變:數(shù)據(jù)來(lái)源有業(yè)務(wù) DB、MySQL、Oracle、sql server、第三方存儲(chǔ) Redis 等多種數(shù)據(jù)源,怎么對(duì)多變的數(shù)據(jù)源做統(tǒng)一的、及時(shí)的接入。

② 異常:舉個(gè)例子,某些業(yè)務(wù)方經(jīng)常在半夜刷新數(shù)據(jù),這對(duì)數(shù)據(jù)接入的實(shí)時(shí)性和準(zhǔn)確性產(chǎn)生了很大的影響。

③ 效率:

A. 離線數(shù)據(jù)接入,如何更快的把數(shù)據(jù)接入進(jìn)來(lái)。
B. 實(shí)時(shí)數(shù)據(jù)接入,如何準(zhǔn)確的接入,并及時(shí)提供需求數(shù)據(jù)。

針對(duì)這些問(wèn)題,貝殼找房的解決方案就是 Databus(數(shù)據(jù)直通車),通過(guò)數(shù)據(jù)直通車來(lái)解決上述的三個(gè)問(wèn)題,把行為數(shù)據(jù)和業(yè)務(wù)數(shù)據(jù)及時(shí)、高效的接入計(jì)算平臺(tái)層,來(lái)滿足流式數(shù)據(jù)的計(jì)算和需求。

實(shí)時(shí) ETL。主要分為上層的數(shù)據(jù)治理和下層的計(jì)算平臺(tái)。數(shù)據(jù)接入進(jìn)來(lái)之后,采用什么樣的形式存儲(chǔ),更好的做數(shù)據(jù)分析,而實(shí)時(shí)計(jì)算又采用什么樣的方式存儲(chǔ),這里都是通過(guò) Ark 平臺(tái)來(lái)做實(shí)時(shí)處理。

數(shù)據(jù)輸出。如何把數(shù)據(jù)更好的提供給用戶,這里主要會(huì)介紹日志流產(chǎn)品化的平臺(tái)天眼。

挑戰(zhàn)

 

 

流式數(shù)據(jù)平臺(tái)面臨的挑戰(zhàn):

流式元數(shù)據(jù)管理。公司到底有哪些流式數(shù)據(jù)?比如 kafka 接了一批日志,MySQL 產(chǎn)生了一批 binlog,各種事務(wù)中也產(chǎn)生了一些流式數(shù)據(jù)。這些流式數(shù)據(jù)來(lái)自哪些業(yè)務(wù)方?數(shù)據(jù)類型是什么?有什么樣的屬性?以貝殼為例,是新房的數(shù)據(jù)?還是二手房的數(shù)據(jù)?還是經(jīng)紀(jì)人的數(shù)據(jù)?還是客戶的數(shù)據(jù)?里面數(shù)據(jù)的格式是什么樣的?如何存儲(chǔ)的?如何解析?都需要統(tǒng)一的流式元數(shù)據(jù)管理平臺(tái),來(lái)更好的理解并處理這些數(shù)據(jù)。

流式數(shù)據(jù)處理平臺(tái)。常見(jiàn)的 Flink、spark streaming 等,對(duì)于需求方來(lái)說(shuō),不可能總寫相應(yīng)的代碼,來(lái)完成操作,這樣成本比較高。如何讓業(yè)務(wù)方盡可能簡(jiǎn)單的、可配置的進(jìn)行流式處理操作,這里主要是通過(guò) Ark 流處理平臺(tái)完成,后面會(huì)重點(diǎn)介紹。

流式數(shù)據(jù)應(yīng)用產(chǎn)品。貝殼擁有多個(gè)場(chǎng)景,如日志分析、數(shù)據(jù)挖掘等,每個(gè)場(chǎng)景對(duì)流式數(shù)據(jù)都有不同的需求,這就需要我們針對(duì)不同需求做不同的產(chǎn)品。

流式計(jì)算平臺(tái)及應(yīng)用

1、數(shù)據(jù)直通車

 

 

數(shù)據(jù)直通車的架構(gòu):

數(shù)據(jù)接入層分為:

① 流數(shù)據(jù)接入:貝殼的流數(shù)據(jù)包括,ngx 日志、dig 埋點(diǎn)、mysql-binlog、tidb-binlog、其他業(yè)務(wù)日志等,把這些流數(shù)據(jù)通過(guò) rsyslog、tidb-binlog-drainer、canal 等接入 kafka。

② 存儲(chǔ)接入:離線數(shù)據(jù)可能存在 Hive、Mysql、redis、HBase、TiDb 等多種數(shù)據(jù)存儲(chǔ)源,通過(guò) spark 離線任務(wù)、TiSpark 把數(shù)據(jù)接入到更上層的數(shù)據(jù)輸出層。

流式數(shù)據(jù)接入之后,就可以做訂閱,如何 kafka、redis、ES(檢索操作)、HBase(大數(shù)據(jù)量 KV 操作)等,還可以做周期性同步,T+1 級(jí)別的數(shù)據(jù),還有我們探索實(shí)現(xiàn)的準(zhǔn)實(shí)時(shí)倉(cāng)庫(kù),目前可以做到 5 分鐘的延遲。

依賴于整個(gè)數(shù)據(jù)接入層、處理層、輸出層的工作,可以滿足:

① 建設(shè)完元數(shù)據(jù)之后,通過(guò)應(yīng)用層就可以查詢到所有元數(shù)據(jù)的信息,并且知道元數(shù)據(jù)的變更情況(如果不知道元數(shù)據(jù)的變更情況,那么數(shù)據(jù)可是不準(zhǔn)確的,和真實(shí)的數(shù)據(jù)是對(duì)應(yīng)不上的)。通過(guò)數(shù)據(jù)直通車,就可以滿足我們的第一個(gè)挑戰(zhàn),完成了所有元數(shù)據(jù)的管理?梢约皶r(shí)、準(zhǔn)確、高效的把數(shù)據(jù)接入到存儲(chǔ)層,或者為數(shù)據(jù)處理層準(zhǔn)備好數(shù)據(jù)物料。

② 流數(shù)據(jù)訂閱

③ binlog 變更查詢等。

元數(shù)據(jù)與數(shù)據(jù)倉(cāng)庫(kù)的能力:

 

 

簡(jiǎn)單說(shuō)下元數(shù)據(jù)管理服務(wù),見(jiàn)右圖,主要通過(guò) TiDB-binlog,獲取業(yè)務(wù)數(shù)據(jù)之后,把數(shù)據(jù)直接同步到 mysql,變更之后如果能自動(dòng)處理就自動(dòng)處理,如果不能自動(dòng)處理就會(huì)發(fā)出告警,由人為來(lái)操作,這樣來(lái)保證業(yè)務(wù)數(shù)據(jù)是統(tǒng)一的,同時(shí)通過(guò) WebUI 接口給用戶來(lái)查看,也可以通過(guò) API 接口給其他業(yè)務(wù)來(lái)調(diào)用。比如后面要講的 Ark 平臺(tái)就可以直接調(diào)用 API 來(lái)使用流式數(shù)據(jù)。

準(zhǔn)實(shí)時(shí)數(shù)倉(cāng),見(jiàn)左圖,引入 hudi 能力,通過(guò) hudi 和 TiDB 可以準(zhǔn)實(shí)時(shí)的把數(shù)據(jù)導(dǎo)入數(shù)據(jù)倉(cāng)庫(kù)之中,用戶可以在 5 分鐘延遲的情況下來(lái)滿足對(duì)于業(yè)務(wù)數(shù)據(jù)的統(tǒng)計(jì)、監(jiān)控、分析的需求。

產(chǎn)品化展示:

 

 

這是平臺(tái)的首頁(yè),第一個(gè)圖可以提供業(yè)務(wù)的執(zhí)行情況,第二個(gè)圖告訴我們數(shù)據(jù)的變更情況,第三個(gè)圖是整個(gè)業(yè)務(wù)成功的情況。

左邊欄:數(shù)據(jù)字典,元數(shù)據(jù)能力;實(shí)時(shí)查詢,準(zhǔn)實(shí)時(shí)數(shù)倉(cāng)查詢的能力;以及埋點(diǎn)管理,數(shù)據(jù)訂閱管理、數(shù)據(jù)變化查詢等。

通過(guò)數(shù)據(jù)直通車,解決了數(shù)據(jù)接入和元數(shù)據(jù)的管理問(wèn)題。

 

 

目前可以做到 kafka 集群、埋點(diǎn) dig、Mysql binlog、七層日志的元數(shù)據(jù)管理。

2、Ark 流處理平臺(tái)

 

 

Ark 整體架構(gòu):

引擎層:

① 把數(shù)據(jù)接入到 Source 源,如 kafka、binlog、dig 等。

② 數(shù)據(jù)接入之后,在引擎層進(jìn)行處理,主要方式有三種:Stream SQL、實(shí)時(shí)規(guī)則匹配、通用模板,其底層依賴于 Spark Streaming 和 Flink。

③ 最終可以把數(shù)據(jù)輸出到 Sink 中,如: Druid.io 、ES、kafka、HBase 等,這時(shí)用戶可以直接調(diào)用。

計(jì)算平臺(tái)層:

通過(guò)封裝的方式來(lái)構(gòu)建計(jì)算平臺(tái),計(jì)算平臺(tái)主要通過(guò)這樣幾件事兒來(lái)完成穩(wěn)定性和通用性的需求,第一個(gè)是任務(wù)管控,需要管理好我們的任務(wù),如何調(diào)度我們的任務(wù),第二個(gè)是調(diào)優(yōu)診斷,有些用戶寫的任務(wù)可能不是特別完善,我們可以自動(dòng)判斷他的任務(wù)是否需要優(yōu)化,并給出優(yōu)化建議,第三個(gè)可以引入 Databus 中的數(shù)據(jù)進(jìn)行處理和使用,第四個(gè)是 SQL IDE,我們會(huì)盡可能多的生成 SQL,讓用戶盡可能寫一些少的配置,來(lái)應(yīng)用 Ark 平臺(tái),最后就是監(jiān)控報(bào)警,監(jiān)控整個(gè)任務(wù)的運(yùn)行情況和延遲情況。

應(yīng)用層:

通過(guò) API 把我們 Ark 平臺(tái)的能力輸出出去:

① 數(shù)據(jù)清洗
② 實(shí)時(shí)大屏
③ 實(shí)時(shí)特征
④ 推薦營(yíng)銷
⑤ 安全風(fēng)控

還有其他的一些應(yīng)用,以及后面會(huì)講到的天眼平臺(tái),通過(guò)對(duì)日志的流式處理統(tǒng)一化及產(chǎn)品化滿足日志的各種訴求。

這就是整個(gè) Ark 流處理平臺(tái)提供的能力。

Ark 能力接口:

 

 

數(shù)據(jù)流(包括日志流、七層日志、mysql、埋點(diǎn)、kafka 集群等)通過(guò) Ark 平臺(tái)可以把數(shù)據(jù)清洗到多個(gè)分析引擎中,并且可以通過(guò) TiDB、HBase、redis 做關(guān)聯(lián),根據(jù)不同的需求把數(shù)據(jù)關(guān)聯(lián)到不同的存儲(chǔ)分析引擎中。

產(chǎn)品化展示:

 

 

這個(gè)是 SQL IDE 的能力,90% 的 SQL 都是自動(dòng)生成的,大家只需要配置 m3db 地址,處理的類型等,就可以直接應(yīng)用 Ark 流處理平臺(tái)。這樣就降低了很大的代價(jià),因?yàn)?sql 的接入度是最強(qiáng)的。

 

 

這個(gè)是 Ark 流處理平臺(tái)的首頁(yè),我們簡(jiǎn)單介紹一下產(chǎn)品的能力特點(diǎn):

豐富的應(yīng)用表達(dá)方式
計(jì)算結(jié)果實(shí)時(shí)可視化
接入全量流數(shù)據(jù)源
資源管理 & 調(diào)優(yōu)診斷

3、天眼

 

 

傳統(tǒng)的方式,日志接入到 kafka,通過(guò) spark streaming 或者 Apache flink,解析到 druid/es/hive 中來(lái)做分析,每次業(yè)務(wù)方都是按需來(lái)做這些事情,自己做數(shù)據(jù)清洗,自己在做應(yīng)用,非常

繁瑣耗時(shí),為了解決這個(gè)問(wèn)題,我們把這些步驟集成到了一個(gè)產(chǎn)品天眼中。

 

天眼架構(gòu):

數(shù)據(jù)采集:所有的業(yè)務(wù)日志、訪問(wèn)日志、設(shè)備日志以及第三方日志,Metrics 上報(bào),SDK 埋點(diǎn)數(shù)據(jù),Agent 數(shù)據(jù),都可以通過(guò) Databus 接入到數(shù)據(jù)處理層,然后再按需放入 Druid.io 、HDFS、ES、Hive、Mysql 中,再通過(guò)查詢引擎,可以做到檢索、統(tǒng)計(jì)報(bào)表、可視化、數(shù)據(jù)分析、監(jiān)控報(bào)警,最終根據(jù)數(shù)據(jù)采集、數(shù)據(jù)處理、數(shù)據(jù)服務(wù)三層的能力抽象出來(lái)多個(gè)數(shù)據(jù)應(yīng)用,天眼可以做可視化分析、全鏈路監(jiān)控、業(yè)務(wù)監(jiān)控、故障管理,以及常見(jiàn)的數(shù)據(jù)管理、檢索、報(bào)警,和開(kāi)放的 API,讓日志可以做到多種方式的應(yīng)用到不同的場(chǎng)景。

產(chǎn)品化展示:

 

 

這是天眼的界面,包括實(shí)時(shí) QPS 排名,以及多個(gè)業(yè)務(wù)方的域名,點(diǎn)擊之后可以看到對(duì)應(yīng)域名的整個(gè)實(shí)時(shí)大盤。左邊欄為天眼能力的列表,通過(guò)我們的數(shù)據(jù)直通車、Ark 平臺(tái),對(duì)數(shù)據(jù)日志處理做了一站式的集成和能力的輸出。

總結(jié)

 

 

① 做流數(shù)據(jù)處理,一定要先把流數(shù)據(jù)字典能力做出來(lái),只有一個(gè)清晰的、完整的、可視的流數(shù)據(jù)字典能力才能讓流數(shù)據(jù)應(yīng)用的更好,方便用戶的查詢。

② 豐富的流處理能力,通過(guò)產(chǎn)品化的封裝,比如 Spark streaming 和 Flink 有多種流處理能力,通過(guò) Ark 封裝,用戶可以更簡(jiǎn)易、自主的配置。

③ 多場(chǎng)景適應(yīng)能力,根據(jù)各種場(chǎng)景,把基礎(chǔ)層提供的數(shù)據(jù)能力,做一個(gè)產(chǎn)品化的封裝,滿足不同場(chǎng)景應(yīng)用的能力。除了剛剛講的天眼日志分析外,流式處理還有各種的應(yīng)用,如 AI 對(duì)實(shí)時(shí)的數(shù)據(jù)挖掘,實(shí)時(shí)的用戶畫像等。

今天主要為大家分享了貝殼找房的三個(gè)平臺(tái),以及流式數(shù)據(jù)處理的挑戰(zhàn)和一些實(shí)戰(zhàn)的經(jīng)驗(yàn)。謝謝大家。

介紹:趙國(guó)賢,貝殼大數(shù)據(jù)架構(gòu)團(tuán)隊(duì)負(fù)責(zé)人。

標(biāo)簽: 流式數(shù)據(jù)的平臺(tái) 流式數(shù)據(jù)處理

版權(quán)申明:本站文章部分自網(wǎng)絡(luò),如有侵權(quán),請(qǐng)聯(lián)系:west999com@outlook.com
特別注意:本站所有轉(zhuǎn)載文章言論不代表本站觀點(diǎn)!
本站所提供的圖片等素材,版權(quán)歸原作者所有,如需使用,請(qǐng)與原作者聯(lián)系。

上一篇:歐洲最大筆融資,印度AI公司被曝造假,自動(dòng)開(kāi)發(fā)背后是真人碼農(nóng)

下一篇:Spark Streaming 調(diào)優(yōu)實(shí)踐