天天看點

阿裡巴巴飛天大資料平台智能開發雲平台DataWorks最新特性

自2009年DataWorks立項,伴随着阿裡巴巴集團登月計劃、公共雲和專有雲的釋出,直到2018年V2.0的釋出,DataWorks已經走過了十年的曆程。本文主要分享了DataWorks商業化增值版本中進階功能,分别介紹了DataWorks基礎版,标準版,專業版和企業版中具備的特色功能和每個功能點所适應的場景,幫助使用者選擇适合的DataWorks版本,更好的解決所面臨的問題。

本文作者:劉天鸢,阿裡雲智能計算平台事業部進階産品經理

一、DataWorks背景介紹

1.DataWorks的發展曆史

自2009年DataWorks立項,伴随着阿裡巴巴集團登月計劃、公共雲和專有雲的釋出,直到2018年V2.0的釋出,DataWorks已經走過了十年的曆程。整個過程經曆了幾個關鍵的節點,2009年到2013年期間,DataWorks具備排程Hadoop叢集任務的能力。在此之後,由于資料量不斷的增加,Hadoop叢集已無法支撐阿裡巴巴集團海量增長的資料,阿裡開始自研MaxCompute+DataWorks。2013年之後,DataWorks開始支援Maxcompute任務的排程。自此,阿裡巴巴集團基于Maxcompute+DataWorks,建構了整個阿裡的資料中台。

阿裡巴巴飛天大資料平台智能開發雲平台DataWorks最新特性
  1. DataWorks-一站式大資料研發+治理平台

    作為阿裡巴巴的一站式大資料的研發平台,DataWorks具備的基礎能力可以分為兩大部分,資料研發和資料治理。在2018年上半年之前,大部分使用者使用DataWorks産品的目的是做資料研發工作,基于DataWorks的資料研發工作通常是将資料源通過資料內建傳到Maxcompute,再通過離線計算Data Studio任務進行定時排程。從2018年下半年開始,釋出的DataWorks V2.0将集團内部資料治理功能無縫部署到了公共雲,使每位公共雲使用者都能夠在DataWorks 基礎版中具備較為完善的資料治理能力,包括資料血緣、資料品質監控、任務監控、資料審計,以及安全資料權限管控的功能。

阿裡巴巴飛天大資料平台智能開發雲平台DataWorks最新特性

為了讓使用者體驗到更好的商業級服務,DataWorks在2019年6月份實行了商業化。DataWorks收費文檔中展示了整個收費模型,該模型将DataWorks劃分為兩種類型的商品,分别是:資源服務類商品和功能特性類商品。功能特性類商品提供給使用者的是DataWorks各子產品的功能點,如:使用者打開DataWorks界面便能看到資料開發-節點類型、運維中心-智能監控等功能,這些界面都是基于DataWorks的某個版本來呈現給使用者的,如:DataWorks基礎版/标準版/專業版/企業版等。如果在此版本之上,如使用者使用到其中的某些特定功能點,則會按照按量付費的方式進行扣費。、

(注意:任何使用者都必須開通DataWorks按量付費商品,開通後即可永久贈送DataWorks基礎版。)

阿裡巴巴飛天大資料平台智能開發雲平台DataWorks最新特性

二、DataWorks進階功能場景化介紹

  1. DataWorks基礎版

    DataWorks基礎版具備較為實用的特性,可以幫助使用者快速建構資料倉庫。DataWorks基礎版可以覆寫大資料研發的全生命周期,包括資料接入、資料開發、調動生産、可視化運維、資料品質監控,表權限管理,資料服務API建構,到資料最終呈現到某個應用的開發等全部子產品。值得一提的是,在資料接入部分DataWorks新增了“批量上雲”功能,如使用者的資料存在多個MySQL資料庫,每個資料庫包含多個DB,每個DB都有n多張表。此時使用者可以通過批量上雲功能,上傳EXCEL形式的資料,快速建立起多個資料同步任務進行資料的快速上雲。目前批量上雲方式支援ORACLE,MySQL以及SQL server。基礎版目前也有資料品質監控功能,使用者可以設定自定義的規則進行檢查。

阿裡巴巴飛天大資料平台智能開發雲平台DataWorks最新特性
  1. DataWorks标準版

    針對基礎版,DataWorks标準版在研發方面增加了較多複雜且專業化的節點類型,同時對實時Flink引擎也有了更好的可視化支援。DataWorks标準版更多的是面向大資料體系發展比較快的企業,企業在資料體系發展比較快時,資料品質問題、安全問題通常會逐漸暴露,出現相關品質、安全隐患,是以在資料治理方面,DataWorks标準版提供了相應的能力幫助使用者解決問題。

如下是DataWorks标準版場景化案例:

場景一、分支節點實作特定時間執行任務

比如,使用者會提出訴求,既能否根據某個特殊的判斷決定任務工作流的下遊是否要跑某個任務。如下圖,使用者要判斷今天是不是每個月最後一日。由于每個月的最後一天并不是固定的30号。

阿裡巴巴飛天大資料平台智能開發雲平台DataWorks最新特性

此時,如果通過DataWorks傳統的簡單場景的線性依賴,很難實作使用者訴求。DataWorks标準版提供了幾種負載類型的節點,包括循環、周遊、指派、分支和歸并節點,讓使用者自由組合節點,以便實作更複雜的場景。

上述場景如何通過複雜節點實作?如下圖所示,案例中需要使用兩種節點,指派節點和分支節點。指派節點中使用者可以通過Python判斷今天是不是這個月的最後一天,如果是,指派節點負責将“1”作為一個傳參傳給下遊,如果不是則傳“0”。分支節點接收到上遊傳參“1”,則執行左邊分支,如果接收到“0”,執行右邊的分支。

阿裡巴巴飛天大資料平台智能開發雲平台DataWorks最新特性

場景二、SQL代碼複用

随着使用者SQL代碼規模越來越大,某些代碼段會成為一個公用的代碼段。使用者需要将這些代碼做成公用代碼供其他人複用。傳統方法是複制代碼,而傳統的的做法存在較高的風險。複制代碼一方面效率較低,另外很容易對代碼進行剪切,原代碼會被改動。

阿裡巴巴飛天大資料平台智能開發雲平台DataWorks最新特性

DataWorks标準版提供了SQL元件功能,允許使用者定義一個公用的SQL代碼塊,并且在其中設定自己需要的變量。其他人需要這個SQL代碼塊,就将其作為一個節點投入到一個業務流程,同時對設定的參數進行指派,實作SQL代碼的複用。

阿裡巴巴飛天大資料平台智能開發雲平台DataWorks最新特性

場景三.實時場景

某些企業需要建構實時的資料倉庫,而實際上,往往需要技術非常娴熟的一批團隊才能夠搭建起整個流計算的系統。Flink的整個流程包括,使用者在本地進行流任務的開發調參,開發結束後上傳到Flink叢集,再通過指令行運作。同時,運維過程也非常麻煩,如果出現逾時或其它問題,Flink需要在多個地方檢查日志,排查難度非常高。

阿裡巴巴飛天大資料平台智能開發雲平台DataWorks最新特性

DataWorks标準版提供了DAG開發以及SQL/DAG互轉功能。使用者可以對每個處理的資料和處理動作都拖入一個節點,将節點串聯成一個工作流,依次對資料進行處理。如下圖,點開每個節點的結構,如第一個datahub是個資料源,輸入時會有一個字段,到第二個固定鍊被切分,切分為多個字段。使用者可以通過可視化的方式線上進行配置字段。在配置完整個流程之後,點選右上角切換SQL模式,将其轉化為Flink SQL。DataWorks标準版除了支援圖形化的方式配置Flink流計算的處理流程,也支援使用者使用原生的SQL進行任務的編寫。

阿裡巴巴飛天大資料平台智能開發雲平台DataWorks最新特性

另外,DataWorks專業版中具備本地調試功能,在每個節點使用者可以點選采樣看到采樣的時間點采樣資料。如果不符合預期,使用者可以及時做出調整。傳統Flink不具備此功能,隻能等到所有任務都執行結束,才可以檢視結果資料是否符合預期。使用者在還沒有将整個任務上線時,本地調試功能便能夠檢查資料的生産是否符合預期。在快速建構實時流計算體系時,DataWorks大大降低了使用者使用實時流計算引擎的門檻。

場景四、任務監控場景

随着使用者的工作量越來越龐大和越來越複雜,人肉維護每個任務監控變得非常痛苦。下圖中展示的密密麻麻的節點,是阿裡集團内在營運中心展開的DAG截圖。傳統監控配置手段對每個任務之間配置的逾時進行報錯,但當工作流的體量非常大時,傳統的配置手段不是很現實。由于每個任務的資料體量不固定,導緻任務時間增長,使用者無法對每個任務的報警門檻值做調整。這時需要一個既快捷又智能的方式,使用者隻需配置一次,在此之後合理監控,對整個工作流實作整體監控的功能。

阿裡巴巴飛天大資料平台智能開發雲平台DataWorks最新特性

DataWorks标準版的智能監控功能,允許使用者僅對産出資料的最後一個節點配置一個極限時間,之後DataWorks智能監控系統在後端針對往常的每個任務的運作時間以及SQL語義進行分析,規劃出關鍵路徑,分析每一個節點的最晚開始和結束時間。一旦上遊的某一個中間任務出現變慢或者出錯的情況,智能監控系統中報警的機制會通過郵件、短信或者釘釘推送給使用者。使用者在接收到中間任務出現的事件時就可以快速響應,快速處理任務所出現的問題。如果問題能夠得到及時解決,最終産出的任務就能夠保證在使用者定好的時間點産出。既對整個工作流設定基線,隻要保證基線不破線,則智能監控功能可以保證資料準時産出。

阿裡巴巴飛天大資料平台智能開發雲平台DataWorks最新特性

場景五、尋找髒資料的源頭

随着使用者的資料量飛速增長,資料品質問題也會凸顯。DataWorks标準版提供了讓使用者自己配置,自定義規則或者預設模闆來監控資料品質的功能。如下圖,一張使用者消費表,以往每天使用者花費是100多萬,忽然有一天統計到的資料是2000,出現了不符合預期的情況。

阿裡巴巴飛天大資料平台智能開發雲平台DataWorks最新特性

DataWorks标準版中資料血緣功能能夠幫使用者很好的解決資料品質的問題。資料血緣功能可以為使用者提供資料地圖,能夠識别每一張表的上遊表和下遊表,每一個字段的上遊字段和下遊字段,既以字段的形式呈現資料的曆史。資料地圖也有其它的用處,使用者隻要在一個阿裡雲主賬号下面的同一個region,所有被加到目前項目的使用者都可以在資料地圖中搜尋表,也可以在每張表的詳細資訊中看得到當天這張表的産出資訊。資料地圖對于日常表的使用也是必不可少的一個功能,可以檢視字段說明、每日分區産出等資訊。

阿裡巴巴飛天大資料平台智能開發雲平台DataWorks最新特性

場景六、資料審計

在保證資料準時産出、産出準确之後,如何保證資料不丢失?為此企業管理者通常會推動企業建構資料審計體系。DataWorks資料保護傘子產品幫助使用者對資料敏感級别進行分級和分類,以可視化(圖形化)方式展示敏感資料,并且審計内部人員對敏感資料的通路行為,同時保證敏感資料可用不可見(既資料脫敏)。DataWorks标準版提供了以上四個功能,幫助使用者落地最基本的資料審計的能力。

阿裡巴巴飛天大資料平台智能開發雲平台DataWorks最新特性

首先,DataWorks标準版提供了一個能夠讓使用者自己定義字段、進行字段掃描的能力,對字段的敏感級别進行分類。如下圖。使用者可以在頁面中建立幾個分級,包括公開、内部、敏感和機密。然後設定資料類型,隻要掃描到表中有payment字段,就将其定位為金額字段。設定的規則自第二天便開始生效,從零點開始進行掃描,掃描結束後展示整個項目中關于金額類的字段。

阿裡巴巴飛天大資料平台智能開發雲平台DataWorks最新特性

敏感資料通路行為審計功能将通路的行為記錄下來,幫助管理者發現通路敏感字段的使用者的行為,必要時管理者與相關人員進行一定的溝通,建立内部溝通的機制。資料脫敏目前有三種脫敏方式,包括HASH,假名和掩蓋脫敏。

阿裡巴巴飛天大資料平台智能開發雲平台DataWorks最新特性

DataWorks标準版目前已經覆寫了大部分資料研發和基本的資料治理的功能。對于資料業務發展非常快,并且對資料治理有一定要求的企業,在初期可以選擇DataWorks标準版來滿足自己的訴求。

  1. DataWorks專業版

    DataWorks專業版提供可拓展資料服務的API,能夠提供更靈活、更高可用的服務能力。同時在資料治理方面,DataWorks專業版的安全能力也有了一定的加強。

場景一、API對接報表系統

第一個場景,企業有不同資料結構的報表系統,需要以可視化方式展示資料。如一家銀行需要對公司年度放貸的同比增長近做柱狀圖統計,此時銀行正好有一套可視化的系統,其中有一個柱狀圖的元件,元件要求傳回接收JSON格式的對象包數組資料結構即可正常顯示。這時可以使用資料服務中的過濾器和函數功能對API傳回的資料進行二次加工,靈活的應對各種的資料結構的要求。使用者在MaxCompute中存了一張某企業的貸款資訊表。傳統的方式是建構好一個API,API中傳入最右邊的字段日期便可以傳回其它幾個字段。共計每條資料要傳回七個字段,其中x顯示公司資訊,y顯示貸款金額。下圖右邊将firm_name,firm_account,up_over_last_year三個字段組合起來放到x中,再将loan_amount字段結果放到y中。此時API已經建構好,但如果按照傳統格式建構API并不劃算。通過資料服務的過濾器和函數功能,使用者使用Python3直接編寫一個函數對資料和傳回格式進行處理,将三個字段拼到一起,最終促成一個可視化的模闆所要求的資料結構展示資料。

阿裡巴巴飛天大資料平台智能開發雲平台DataWorks最新特性

場景二、實時故障排查

在傳統Flink場景下,運維工作難度較高,尤其是排查問題。如排查逾時問題,正常的排查鍊路需要檢查Checkpoint中某個算子是否出現了問題,若沒有問題,再去檢視JobManager的延時資訊,再檢查是否TaskManager對機器有負載過高,是否存在網絡問題,異或存在資料傾斜問題。排查工作依賴于排查員個人經驗,排查員個人經驗和對Flink技術架構的了解決定了排查問題的準确性。

阿裡巴巴飛天大資料平台智能開發雲平台DataWorks最新特性

如下圖所示,DataWorks的智能運維功能對資料源、資料産出、延遲、髒資料、Watermark、Checkpoint、failover提供了可視化檢查,發現任何的錯誤都可以及時抛給使用者,幫助使用者定位錯誤。

阿裡巴巴飛天大資料平台智能開發雲平台DataWorks最新特性

場景三、非通用脫敏資料審計

DataWorks專業版在資料安全方面有了本質的提升。企業中不常見的敏感資料,需要納入敏感資料的行列進行審計。這時需要有個功能是能夠讓使用者通過選擇某一類敏感資料的類型比對字段,自定義的掃描字段。如下圖,Bankcard id是銀行卡号字段,通過DataWorks标準版功能就能夠識别到此字段,并列為敏感字段。但下表中Product description 字段是使用者購買的商品,其中某些記錄值是敏感的,某些則不是,這時無需将整個字段都列為敏感資訊。DataWorks專業版通過自定義内容掃描的方式來正則比對,使用者也可以選擇自定義,點選内容掃描,隻要是滿足标準的正則的規則都可以進行比對。這滿足了在特定場景下敏感資料識别的訴求。

阿裡巴巴飛天大資料平台智能開發雲平台DataWorks最新特性

場景四、審計敏感資料通路行為

管理者不僅要審計每個人員對敏感資料的通路行為,還需要審查具備某個表權限的人員的風險行為,檢查是否在非預期的時間使用了敏感資料。DataWorks專業版可以幫管理者識别高危通路行為,在頁面上呈現出通路的SQL,通路時間和通路的敏感資料。若不符合預期,管理者需要其進行内部稽核。

阿裡巴巴飛天大資料平台智能開發雲平台DataWorks最新特性

4.DataWorks企業版

DataWorks企業版增加了資料服務API編排能力。資料中台解決的問題是“存”、“通”、“用”問題。既需要将資料規範進行集中存儲,使各系統間的資料統一流通,進行統一規劃加工,同時将最終資料供業務方使用。而使用資料的業務方需求各式各樣、千奇百怪,如資料中台可以快速慢速業務方訴求,則該資料體系在企業内就會赢得更多信任,具有越來越重要的企業戰略地位;如不能及時滿足使用者的需求或不符合預期,則資料體系會越來越被邊緣化。如何滿足業務方紛繁複雜,各種各樣的需求?DataWorks企業版資料服務目前提供了服務編排的能力,可以滿足各種比較複雜的場景。

場景一、應對臨時需求

某些臨時性需求,如:審計人員會随機不定時地抽取各個資料源進行對比;或者風控系統要從多張表中取得互相依賴的資料,最終取得最下遊的資料進行決策,都是較為複雜的業務訴求。

如下圖所示,審計人員要将幾張表join之後進行對比,或從多張表獲得互相依賴的資料,找出最下遊的資料進行決策。每一個表select的結果,都是下一張表where後面的條件。從資料開發角度較為正常的方法是将資料拉到資料倉庫中,對表進行join後産出,最終得到結果進行對比。但這非常費時費力,同時會耗費計算存儲資源,并且任務的維護成本效益不是很高。

阿裡巴巴飛天大資料平台智能開發雲平台DataWorks最新特性

DataWorks企業版提供的資料服務編排能力允許使用者建構多個API,将API建構成複雜邏輯的複合服務的功能。使用者隻需傳入一個參數,下遊API便可以根據每個上遊API的産出作為輸入,最終産出結果。如下圖示例,在資料庫裡面建立一個編排的流程,拖入四個API,每個API都會抽一張表的一個字段,抽到的結果傳入下一個API作為入參。API接到入參進行一系列的計算之後,将結果作為出參傳給下遊作為入參。經過一系列流程,就可以實作整個邏輯,使用者不需要将所有資料都導到資料倉庫裡進行統一加工。資料服務支援多種資料源,包括MySQL,Oracle或者其它引擎。

阿裡巴巴飛天大資料平台智能開發雲平台DataWorks最新特性

在資料服務裡也可以建構如下圖所示的工作流。下圖左邊是join的API,API将兩張表join後傳回兩個字段,最終形成字段表。最後拖入Python對兩個API傳回的結果進行對比,對比出來輸出結果。如此便滿足風控系統的審計人員不定時抽取多張表複查資料對比的訴求。

阿裡巴巴飛天大資料平台智能開發雲平台DataWorks最新特性

場景二、安全能力更新

DataWorks企業版在資料治理方面有了安全能力的更新,提供了場景PII敏感資料的識别模型。使用者隻需設定一個字段類型,DataWorks企業版就可以幫使用者去識别某些敏感字段。DataWorks企業版中已經預設了部分敏感字段的算法,包括郵箱、座機、IP等。DataWorks企業版有一個特點,既進行安全知識的輸出,如使用者打開這個功能開關,便可以實作對同一天多次使用高相似度的SQL進行查詢,幫助使用者一鍵使用。DataWorks企業版目前提供個性化需求,使用者可自建樣本庫,定義敏感資料,在内容掃描子產品中維護的自建樣本庫。

阿裡巴巴飛天大資料平台智能開發雲平台DataWorks最新特性

場景三、定制化開發

部分使用者的訴求是對DataWorks界面進行企業的定制化開發,DataWorks企業版通過APPStudio子產品中進階API,進行界面的二次開發。目前,DataWorks企業版為使用者提供了MaxCompute資料表類API,使用者可以通過DataWorks企業版中的AppStudio子產品來進行調用,并建構如下圖所示的資料資産頁面。

阿裡巴巴飛天大資料平台智能開發雲平台DataWorks最新特性

三、購買建議

DataWorks基礎版:一般适用于建構資料倉庫的需求非常緊迫,并且人員有缺口的情況。因為DataWorks基礎版提供了可視化資料批量上雲的能力,同時資料開發頁面也支援可視化,包括SQL編寫,工作流建構,依賴關系建構和任務運維。

DataWorks标準版:适用于資料體系發展比較快的企業。當企業資料量增加,任務的體量成規模的增加,安全治理的問題凸顯。DataWorks标準版能夠滿足使用者基本的資料治理的能力以及一些進階的資料開發能力。

DataWorks專業版:适用于需要建構相對成熟的資料服務體系的去企業。如果安全要求較高,DataWorks專業版提供的風險識别能力是非常必要的。

DataWorks企業版:當使用者認為目前的資料體系提供服務的時候不是特别靈活,可以嘗試使用DataWorks企業版資料編排服務,以滿足整個資料中台對于業務方的各種各樣的訴求。DataWorks企業版也會賦予使用者越來越多資料安全和資料審計方面的能力。同時二次定制的資料開發的能力也會越來越完善。