解读Dataphin流批一体的实时研发
-更多關(guān)于數(shù)智化轉(zhuǎn)型、數(shù)據(jù)中臺(tái)內(nèi)容請(qǐng)加入阿里云數(shù)據(jù)中臺(tái)交流群—數(shù)智俱樂部 和關(guān)注官方微信公總號(hào)(文末掃描二維碼或點(diǎn)此加入)
-阿里云數(shù)據(jù)中臺(tái)官網(wǎng) https://dp.alibaba.com/index
背景
每當(dāng)雙11全球購物狂歡節(jié)鐘聲響起,上千萬用戶涌入天貓、淘寶,流暢的購物體驗(yàn)背后是阿里工程師用技術(shù)打造出的營地,支撐了每年雙11所帶來的數(shù)據(jù)洪峰。2020年11月1日至11月12日0:00,天貓“雙11”累計(jì)總交易額達(dá)4982億元,物流訂單總量達(dá)到23.21億單。這一切的背后都離不開實(shí)時(shí)計(jì)算技術(shù)。
Dataphin作為一款企業(yè)級(jí)智能數(shù)據(jù)構(gòu)建與管理產(chǎn)品,具備全鏈路實(shí)時(shí)研發(fā)能力,從2019年開始支撐集團(tuán)天貓雙11的實(shí)時(shí)計(jì)算需求。就以下文介紹Dataphin實(shí)時(shí)計(jì)算的能力。
傳統(tǒng)的數(shù)倉架構(gòu)
在數(shù)倉建設(shè)過程中,一般來說都是先建設(shè)離線數(shù)倉,同時(shí)圍繞著離線數(shù)據(jù)構(gòu)建應(yīng)用。然后隨著業(yè)務(wù)的發(fā)展或者體驗(yàn)的優(yōu)化,再建設(shè)實(shí)時(shí)計(jì)算的鏈路去提升數(shù)據(jù)的時(shí)效性。
在這個(gè)過程中相似的代碼寫兩遍就難以避免,還會(huì)出現(xiàn)實(shí)時(shí)和離線口徑不一致,分別維護(hù)成本增加等各種各樣的問題。
傳統(tǒng)的數(shù)倉架構(gòu)流與批從存儲(chǔ)計(jì)算中分離帶來以下的問題:
Dataphin流批一體優(yōu)勢(shì)
為解決傳統(tǒng)數(shù)倉架構(gòu)的存儲(chǔ)計(jì)算分離的問題,有了“流批一體”的思路:
Dataphin在Flink流批一體的能力之上額外提供了更多的平臺(tái)能力,如數(shù)據(jù)源管理、元數(shù)據(jù)管理、資產(chǎn)血緣、資產(chǎn)質(zhì)量控制、預(yù)編譯、調(diào)試等能力:
開發(fā)生產(chǎn)隔離
Dataphin支持開發(fā)生產(chǎn)隔離的項(xiàng)目,支持開發(fā)和生產(chǎn)雙環(huán)境的數(shù)據(jù)源配置。這樣在開發(fā)模式下,任務(wù)就會(huì)自動(dòng)使用開發(fā)數(shù)據(jù)源和開發(fā)環(huán)境下的物理表;而當(dāng)發(fā)布到生產(chǎn)環(huán)境時(shí),Datpahin則會(huì)自動(dòng)切換為生產(chǎn)數(shù)據(jù)源及生產(chǎn)環(huán)境的物理表。這個(gè)過程完全自動(dòng)化,不用手動(dòng)修改代碼或配置。
元數(shù)據(jù)管理
Dataphin創(chuàng)造性的引入了實(shí)時(shí)元表和鏡像表的概念,將實(shí)時(shí)研發(fā)過程中的表進(jìn)行了平臺(tái)化、資產(chǎn)化的統(tǒng)一管理,并簡化了研發(fā),提升研發(fā)效率和體驗(yàn)。
傳統(tǒng)實(shí)時(shí)任務(wù)研發(fā)工具需要用戶重復(fù)寫Create table建表語句,需要進(jìn)行繁瑣的輸入輸出表映射等操作。實(shí)時(shí)元表將實(shí)時(shí)開發(fā)任務(wù)中所有用到的數(shù)據(jù)表進(jìn)行了統(tǒng)一表構(gòu)建與管理,統(tǒng)一維護(hù)了所有實(shí)時(shí)元表和相關(guān)schema信息。開發(fā)者在開發(fā)過程中不用重復(fù)寫DDL語句;同時(shí),也不需要進(jìn)行繁雜的輸入、輸出、維表映射,采用簡單的純代碼研發(fā)模式,簡單的SET語句及權(quán)限申請(qǐng),即可引用表數(shù)據(jù),進(jìn)行直接查詢或?qū)懭霐?shù)據(jù),輕松做到一次建表,多次引用,大幅度提升研發(fā)效率和體驗(yàn)。
鏡像表顧名思義則是用于維護(hù)離線表與實(shí)時(shí)表之間字段的映射關(guān)系。創(chuàng)建鏡像表并提交發(fā)布后,就可以在流批一體的Flink任務(wù)中使用鏡像表的字段,Datpahin會(huì)在編譯時(shí)自動(dòng)映射到流表和批表上,實(shí)現(xiàn)一份代碼,兩種計(jì)算,代碼邏輯、口徑變更強(qiáng)一致。
流批一體的代碼任務(wù)
除了引入實(shí)時(shí)元表與鏡像表,Dataphin也支持了流批一體的任務(wù),使用Flink引擎作為統(tǒng)一的流批計(jì)算引擎,在一份代碼上可同時(shí)配置流+批的任務(wù)配置,基于同一份代碼生成不同模式下的實(shí)例。而對(duì)于流批差異化的代碼,Dataphin也提供了不同的方式給與支持。
流批一體任務(wù)中會(huì)廣泛使用鏡像表,而鏡像表在最終使用時(shí)會(huì)翻譯為對(duì)應(yīng)的流表/批表,為了適應(yīng)流表/批表的多樣性(流表/批表的數(shù)據(jù)源可能不一樣,帶來with參數(shù)中key可能不一樣;流表/批表的某些設(shè)置可能不一樣,比如batchSize等),可以利用tableHints進(jìn)行流表/批表的對(duì)應(yīng)。方法如下:
set project.table.${mode}.${key} --mode: 流任務(wù):`stream` 批任務(wù):batch
舉個(gè)例子,設(shè)置批任務(wù)的起停時(shí)間:
set project.table.batch.startTime='2020-11-11 00:00:00'; set project.table.batch.endTime='2020-11-12 00:00:00';
第二種是在Dataphin的任務(wù)配置實(shí)時(shí)和離線模式分別任務(wù)參數(shù)的方式是利用任務(wù)參數(shù)進(jìn)行替換。
實(shí)時(shí)質(zhì)量監(jiān)控
Dataphin實(shí)時(shí)數(shù)據(jù)質(zhì)量主要面向開發(fā)者,針對(duì)產(chǎn)品中實(shí)時(shí)產(chǎn)出的數(shù)據(jù)表,通過對(duì)產(chǎn)出結(jié)果進(jìn)行數(shù)據(jù)質(zhì)量分析和校驗(yàn),來保障數(shù)據(jù)的最終有效與準(zhǔn)確。Dataphin支持統(tǒng)計(jì)趨勢(shì)監(jiān)測(cè)、實(shí)時(shí)多鏈路對(duì)比、實(shí)時(shí)離線數(shù)據(jù)核對(duì)。
雙十一大屏后的Dataphin
回到文章開始的天貓雙十一,了解了Dataphin平臺(tái)特有的能力,我們來具體拆解Dataphin為什么能支撐天貓雙十一的實(shí)時(shí)數(shù)據(jù)大屏。
快
基于以上能力,在雙十一大屏的支持上,盡管業(yè)務(wù)玩法很多,需求井噴,仍然僅以2人便支撐上百需求。
穩(wěn)
Dataphin提供任務(wù)監(jiān)控及數(shù)據(jù)質(zhì)量監(jiān)控全方位保障任務(wù)穩(wěn)定,快速發(fā)現(xiàn)問題;基于模版的主備多鏈路在異常發(fā)生時(shí)可以秒級(jí)切換,快速止血;基于實(shí)時(shí)任務(wù)血緣,快速定位問題根因;基于調(diào)試、測(cè)試、細(xì)粒度資源配置,快速驗(yàn)證并修復(fù),真正做到1min發(fā)現(xiàn)、5min定位、10min解決。
準(zhǔn)
基于流批一體的能力,真正做到代碼統(tǒng)一,口徑統(tǒng)一,存儲(chǔ)統(tǒng)一,數(shù)據(jù)服務(wù)接口統(tǒng)一,研發(fā)提效的同時(shí),保證數(shù)據(jù)一致。
未來規(guī)劃
在即將發(fā)布的Flink VVP(Ververica Platform)適配版本將支持新的VVR引擎,也將在未來支持開源Flink引擎已支持更多的部署環(huán)境。Dataphin也將持續(xù)提升實(shí)時(shí)研發(fā)的能力和體驗(yàn),幫助企業(yè)降低實(shí)時(shí)研發(fā)的門檻,挖掘更多的場(chǎng)景,獲得實(shí)時(shí)數(shù)據(jù)帶來的業(yè)務(wù)價(jià)值!
數(shù)據(jù)中臺(tái)是企業(yè)數(shù)智化的必經(jīng)之路,阿里巴巴認(rèn)為數(shù)據(jù)中臺(tái)是集方法論、工具、組織于一體的,“快”、“準(zhǔn)”、“全”、“統(tǒng)”、“通”的智能大數(shù)據(jù)體系。
目前正通過阿里云對(duì)外輸出系列解決方案,包括通用數(shù)據(jù)中臺(tái)解決方案、零售數(shù)據(jù)中臺(tái)解決方案、金融數(shù)據(jù)中臺(tái)解決方案、互聯(lián)網(wǎng)數(shù)據(jù)中臺(tái)解決方案、政務(wù)數(shù)據(jù)中臺(tái)解決方案等細(xì)分場(chǎng)景。
其中阿里云數(shù)據(jù)中臺(tái)產(chǎn)品矩陣是以Dataphin為基座,以Quick系列為業(yè)務(wù)場(chǎng)景化切入,包括:
- - Dataphin,一站式、智能化的數(shù)據(jù)構(gòu)建及管理平臺(tái);
- - Quick BI,隨時(shí)隨地 智能決策;
- - Quick Audience,全方位洞察、全域營銷、智能增長;
- - Quick A+, 跨多端全域應(yīng)用體驗(yàn)分析及洞察的一站式數(shù)據(jù)化運(yùn)營平臺(tái);
- - Quick Stock, 智能貨品運(yùn)營平臺(tái);
- - Quick Decision,智能決策平臺(tái);
官方站點(diǎn):
數(shù)據(jù)中臺(tái)官網(wǎng) https://dp.alibaba.com
釘釘溝通群和微信公眾號(hào)
原文鏈接:https://developer.aliyun.com/article/785938?
版權(quán)聲明:本文內(nèi)容由阿里云實(shí)名注冊(cè)用戶自發(fā)貢獻(xiàn),版權(quán)歸原作者所有,阿里云開發(fā)者社區(qū)不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。具體規(guī)則請(qǐng)查看《阿里云開發(fā)者社區(qū)用戶服務(wù)協(xié)議》和《阿里云開發(fā)者社區(qū)知識(shí)產(chǎn)權(quán)保護(hù)指引》。如果您發(fā)現(xiàn)本社區(qū)中有涉嫌抄襲的內(nèi)容,填寫侵權(quán)投訴表單進(jìn)行舉報(bào),一經(jīng)查實(shí),本社區(qū)將立刻刪除涉嫌侵權(quán)內(nèi)容。總結(jié)
以上是生活随笔為你收集整理的解读Dataphin流批一体的实时研发的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 今日直播 | Apache Hudi x
- 下一篇: DataWorks 功能实践 — 生产开