• <strike id="fdgpu"><input id="fdgpu"></input></strike>
    <label id="fdgpu"></label>
    <s id="fdgpu"><code id="fdgpu"></code></s>

  • <label id="fdgpu"></label>
  • <span id="fdgpu"><u id="fdgpu"></u></span>

    <s id="fdgpu"><sub id="fdgpu"></sub></s>
    您當前的位置是:  首頁(yè) > 資訊 > 文章精選 >
     首頁(yè) > 資訊 > 文章精選 >

    阿里巴巴大數據實(shí)踐—數據開(kāi)發(fā)平臺

    2020-08-12 13:52:38   作者:數據中臺君   來(lái)源:CTI論壇   評論:0  點(diǎn)擊:


      數據只有被整合和計算,才能被用于洞察商業(yè)規律,挖掘潛在信息,從而實(shí)現大數據價(jià)值,達到賦能于商業(yè)和創(chuàng )造價(jià)值的目的。面對海量的數據和復雜的計算,阿里巴巴的數據計算層包括兩大體系:數據存儲及計算平臺(離線(xiàn)計算平臺MaxCompute和實(shí)時(shí)計算平臺StreamCompute)、數據整合及管理體系(OneData)。
      阿里數據研發(fā)崗位的工作大致可以概括為:了解需求→模型設計→ETL開(kāi)發(fā)→測試→發(fā)布上線(xiàn)→日常運維→任務(wù)下線(xiàn)。與傳統的數據倉庫開(kāi)發(fā)(ETL)相比,阿里數據研發(fā)有如下幾個(gè)特點(diǎn):
    • 業(yè)務(wù)變更頻繁——業(yè)務(wù)發(fā)展非常快,業(yè)務(wù)需求多且變更頻繁;
    • 需要快速交付——業(yè)務(wù)驅動(dòng),需要快速給出結果;
    • 頻繁發(fā)布上線(xiàn)——迭代周期以天為單位,每天需要發(fā)布數次;
    • 運維任務(wù)多——在集團公共層平均每個(gè)開(kāi)發(fā)人員負責上百多個(gè)任務(wù);
    • 系統環(huán)境復雜——阿里平臺系統多為自研,且為了保證業(yè)務(wù)的發(fā)展,平臺系統的迭代速度較快,平臺的穩定性壓力較大。
    • 通過(guò)統一的計算平臺(MaxCompute)、統一的開(kāi)發(fā)平臺、統一的數據模型規范和統一的數據研發(fā)規范,可以在一定程度上解決數據研發(fā)的痛點(diǎn)。
      本文主要介紹MaxCompute和阿里巴巴內部基于MaxCompute的大數據開(kāi)發(fā)套件,并對在數據開(kāi)發(fā)過(guò)程中經(jīng)常遇到的問(wèn)題和相關(guān)解決方案進(jìn)行介紹。
      1、統一計算平臺
      阿里離線(xiàn)數據倉庫的存儲和計算都是在阿里云大數據計算服務(wù)MaxCompute上完成的。
      大數據計算服務(wù)MaxCompute是由阿里云自主研發(fā)的海量數據處理平臺,主要服務(wù)于海量數據的存儲和計算,提供完善的數據導入方案,以及多種經(jīng)典的分布式計算模型,提供海量數據倉庫的解決方案,能夠更快速地解決用戶(hù)的海量數據計算問(wèn)題,有效降低企業(yè)成本,并保障數據安全。
      MaxCompute采用抽象的作業(yè)處理框架,將不同場(chǎng)景的各種計算任務(wù)統一在同一個(gè)平臺之上,共享安全、存儲、數據管理和資源調度,為來(lái)自不同用戶(hù)需求的各種數據處理任務(wù)提供統一的編程接口和界面。它提供數據上傳/下載通道、SQL、MapReduce、機器學(xué)習算法、圖編程模型和流式計算模型多種計算分析服務(wù),并且提供完善的安全解決方案。
      1.MaxCompute的體系架構
      MaxCompute由四部分組成,分別是客戶(hù)端(MaxCompute Client)、接入層(MaxCompute Front End)、邏輯層(MaxCompute Server)及存儲與計算層(Apsara Core)。
      圖:MaxCompute體系架構圖
      2.MaxCompute的特點(diǎn)
      (1)計算性能高且更加普惠
      2016年11月10日,Sort Benchmark在官方網(wǎng)站公布了2016年排序競賽CloudSort項目的最終成績(jì)。阿里云以$1.44/TB的成績(jì)獲得 Indy(專(zhuān)用目的排序)和Daytona(通用目的排序)兩個(gè)子項的世界冠軍,打破了AWS在2014年保持的紀錄$4.51/TB。這意味著(zhù)阿里云將世界頂級的計算能力,變成普惠科技的云產(chǎn)品。CloudSort又被稱(chēng)為“云計算效率之爭”,這項目賽比拼的是完成100TB數據排序誰(shuí)的花費更少,也是Sort Benchmark的各項比賽當中最具現實(shí)意義的項目之一。
      (2)集群規模大且穩定性高
      MaxCompute平臺共有幾萬(wàn)臺機器、存儲近1000PB,支撐著(zhù)阿里巴巴的很多業(yè)務(wù)系統,包括數據倉庫、BI分析和決策支持、信用評估和無(wú)擔保貸款風(fēng)險控制、廣告業(yè)務(wù)、每天幾十億流量的搜索和推薦相關(guān)性分析等,系統運行非常穩定。同時(shí),MaxCompute能保證數據的正確性,如對數據的準確性要求非常高的螞蟻金服小額貸款業(yè)務(wù),就運行于MaxCompute平臺之上。
      (3)功能組件非常強大
    • MaxCompute SQL:標準SQL的語(yǔ)法,提供各類(lèi)操作和函數來(lái)處理數據。
    • MaxCompute MapReduce:提供Java MapReduce 編程模型,通過(guò)接口編寫(xiě)MR程序處理MaxCompute中的數據。還提供基于MapReduce的擴展模型MR2,在該模型下,一個(gè)Map函數后可以接入連續多個(gè)Reduce函數,執行效率比普通的MapReduce模型高。
    • MaxCompute Graph:面向迭代的圖計算處理框架,典型應用有PageRank、單源最短距離算法、K-均值聚類(lèi)算法。
    • Spark:使用Spark接口編程處理存儲在MaxCompute中的數據。
    • RMaxCompute:使用R處理MaxCompute中的數據。
    • Volume:MaxCompute以Volume的形式支持文件,管理非二維表數據。
      (4)安全性高
      MaxCompute提供功能強大的安全服務(wù),為用戶(hù)的數據安全提供保護。MaxCompute采用多租戶(hù)數據安全體系,實(shí)現用戶(hù)認證、項目空間的用戶(hù)與授權管理、跨項目空間的資源分享,以及項目空間的數據保護。如支付寶數據,符合銀行監管的安全性要求,支持各種授權鑒權審查和“最小訪(fǎng)問(wèn)權限”原則,確保數據安全。
      2、統一開(kāi)發(fā)平臺
      阿里數據開(kāi)發(fā)平臺集成了多個(gè)子系統來(lái)解決實(shí)際生產(chǎn)中的各種痛點(diǎn)。圍繞MaxCompute計算平臺,從任務(wù)開(kāi)發(fā)、調試、測試、發(fā)布、監控、報警到運維管理,形成了整套工具和產(chǎn)品,既提高了開(kāi)發(fā)效率,又保證了數據質(zhì)量,并且在確保數據產(chǎn)出時(shí)效的同時(shí),能對數據進(jìn)行有效管理。
      數據研發(fā)人員完成需求了解和模型設計之后,進(jìn)入開(kāi)發(fā)環(huán)節,開(kāi)發(fā)工作流如圖所示。
     
      圖:開(kāi)發(fā)工作流圖
      對應于開(kāi)發(fā)工作流的產(chǎn)品和工具如下圖所示,我們將對其功能進(jìn)行簡(jiǎn)要介紹。
      1.在云端(D2)
      D2是集成任務(wù)開(kāi)發(fā)、調試及發(fā)布,生產(chǎn)任務(wù)調度及大數據運維,數據權限申請及管理等功能的一站式數據開(kāi)發(fā)平臺,并能承擔數據分析工作臺的功能。
      圖:對應于開(kāi)發(fā)工作流的產(chǎn)品和工具
      用戶(hù)使用D2進(jìn)行數據開(kāi)發(fā)的基本流程如下:
      ——用戶(hù)使用IDE進(jìn)行計算節點(diǎn)的創(chuàng )建,可以是SQL/MR任務(wù),也可以是Shell任務(wù)或者數據同步任務(wù)等,用戶(hù)需要編寫(xiě)節點(diǎn)代碼、設置節點(diǎn)屬性和通過(guò)輸入輸出關(guān)聯(lián)節點(diǎn)間依賴(lài)。設置好這些后,可以通過(guò)試運行來(lái)測試計算邏輯是否正確、結果是否符合預期。
      ——用戶(hù)點(diǎn)擊提交,節點(diǎn)進(jìn)入開(kāi)發(fā)環(huán)境中,并成為某個(gè)工作流的其中一個(gè)節點(diǎn)。整個(gè)工作流可以被觸發(fā)調度,這種觸發(fā)可以是人為的(稱(chēng)之為“臨時(shí)工作流”),也可以是系統自動(dòng)的(稱(chēng)之為“日常工作流”)。當某個(gè)節點(diǎn)滿(mǎn)足所有觸發(fā)條件后,會(huì )被下發(fā)到調度系統的執行引擎Alisa中,完成資源分配和執行的整個(gè)過(guò)程。
      如果節點(diǎn)在開(kāi)發(fā)環(huán)境中運行無(wú)誤,用戶(hù)可以點(diǎn)擊發(fā)布,將該節點(diǎn)正式提交到生產(chǎn)環(huán)境中,成為線(xiàn)上生產(chǎn)鏈路的一個(gè)環(huán)節。
      2.SQLSCAN
      SQLSCAN將在任務(wù)開(kāi)發(fā)中遇到的各種問(wèn)題,如用戶(hù)編寫(xiě)的SQL質(zhì)量差、性能低、不遵守規范等,總結后形成規則,并通過(guò)系統及研發(fā)流程保障,事前解決故障隱患,避免事后處理。
      SQLSCAN與D2進(jìn)行結合,嵌入到開(kāi)發(fā)流程中,用戶(hù)在提交代碼時(shí)會(huì )觸發(fā)SQLSCAN檢查。SQLSCAN工作流程如下圖所示。
     
      圖:SQLSCAN工作流程圖
      用戶(hù)在D2的IDE中編寫(xiě)代碼。
    • ——用戶(hù)提交代碼,D2將代碼、調度等信息傳到SQLSCAN。
    • ——SQLSCAN根據所配置的規則執行相應的規則校驗。
    • ——SQLSCAN將檢查成功或者失敗的信息傳回D2。
    • ——D2的IDE顯示OK(成功)、WARNNING(警告)、FAILED(失敗,禁止用戶(hù)提交)等消息。
      SQLSCAN主要有如下三類(lèi)規則校驗:
      代碼規范類(lèi)規則,如表命名規范、生命周期設置、表注釋等。
      代碼質(zhì)量類(lèi)規則,如調度參數使用檢查、分母為0提醒、NULL值參與計算影響結果提醒、插入字段順序錯誤等。
      代碼性能類(lèi)規則,如分區裁剪失效、掃描大表提醒、重復計算檢測等。
      SQLSCAN規則有強規則和弱規則兩類(lèi)。觸發(fā)強規則后,任務(wù)的提交會(huì )被阻斷,必須修復代碼后才能再次提交;而觸發(fā)弱規則,則只會(huì )顯示違反規則的提示,用戶(hù)可以繼續提交任務(wù)。
      3.DQC
      DQC(Data Quality Center,數據質(zhì)量中心)主要關(guān)注數據質(zhì)量,通過(guò)配置數據質(zhì)量校驗規則,自動(dòng)在數據處理任務(wù)過(guò)程中進(jìn)行數據質(zhì)量方面的監控。
      DQC主要有數據監控和數據清洗兩大功能。數據監控,顧名思義,能監控數據質(zhì)量并報警,其本身不對數據產(chǎn)出進(jìn)行處理,需要報警接收人判斷并決定如何處理;而數據清洗則是將不符合既定規則的數據清洗掉,以保證最終數據產(chǎn)出不含“臟數據”,數據清洗不會(huì )觸發(fā)報警。
      DQC數據監控規則有強規則和弱規則之分,強規則會(huì )阻斷任務(wù)的執行(將任務(wù)置為失敗狀態(tài),其下游任務(wù)將不會(huì )被執行);而弱規則只告警而不會(huì )阻斷任務(wù)的執行。常見(jiàn)的DQC監控規則有:主鍵監控、表數據量及波動(dòng)監控、重要字段的非空監控、重要枚舉字段的離散值監控、指標值波動(dòng)監控、業(yè)務(wù)規則監控等。
      阿里數據倉庫的數據清洗采用非侵入式的清洗策略,在數據同步過(guò)程中不進(jìn)行數據清洗,避免影響數據同步的效率,其過(guò)程在數據進(jìn)入ODS層之后執行。對于需要清洗的表,首先在DQC配置清洗規則;對于離線(xiàn)任務(wù),每隔固定的時(shí)間間隔,數據入倉之后,啟動(dòng)清洗任務(wù),調用DQC配置的清洗規則,將符合清洗規則的數據清洗掉,并保存至DIRTY表歸檔。如果清洗掉的數據量大于預設的閾值,則阻斷任務(wù)的執行;否則不會(huì )阻斷。
      DQC工作流程如下圖所示。
      
      圖:DQC工作流程圖
      4.在彼岸
      數據測試的典型測試方法是功能測試,主要驗證目標數據是否符合預期。其主要有如下場(chǎng)景:
      (1)新增業(yè)務(wù)需求
      新增產(chǎn)品經(jīng)理、運營(yíng)、BI等的報表、應用或產(chǎn)品需求,需要開(kāi)發(fā)新的ETL任務(wù),此時(shí)應對上線(xiàn)前的ETL任務(wù)進(jìn)行測試,確保目標數據符合業(yè)務(wù)預期,避免業(yè)務(wù)方根據錯誤數據做出決策。其主要對目標數據和源數據進(jìn)行對比,包括數據量、主鍵、字段空值、字段枚舉值、復雜邏輯(如UDF、多路分支)等的測試。
      (2)數據遷移、重構和修改
      由于數據倉庫系統遷移、源系統業(yè)務(wù)變化、業(yè)務(wù)需求變更或重構等,需要對現有的代碼邏輯進(jìn)行修改,為保證數據質(zhì)量需要對修改前后的數據進(jìn)行對比,包括數據量差異、字段值差異對比等,保證邏輯變更正確。為了嚴格保證數據質(zhì)量,對于優(yōu)先級(優(yōu)先級的定義見(jiàn)“數據質(zhì)量”章節)大于某個(gè)閾值的任務(wù),強制要求必須使用在彼岸進(jìn)行回歸測試,在彼岸回歸測試通過(guò)之后,才允許進(jìn)入發(fā)布流程。
      在彼岸則是用于解決上述測試問(wèn)題而開(kāi)發(fā)的大數據系統的自動(dòng)化測試平臺,將通用的、重復性的操作沉淀在測試平臺中,避免被“人肉”,提高測試效率。
      在彼岸主要包含如下組件,除滿(mǎn)足數據測試的數據對比組件之外,還有數據分布和數據脫敏組件。
    • 數據對比:支持不同集群、異構數據庫的表做數據對比。表級對比規則主要包括數據量和全文對比;字段級對比規則主要包括字段的統計值(如SUM、AVG、MAX、MIN等)、枚舉值、空值、去重數、長(cháng)度值等。
    • 數據分布:提取表和字段的一些特征值,并將這些特征值與預期值進(jìn)行比對。表級數據特征提取主要包括數據量、主鍵等;字段級數據特征提取主要包括字段枚舉值分布、空值分布、統計值(如SUM、AVG、MAX、MIN等)、去重數、長(cháng)度值等。
    • 數據脫敏:將敏感數據模糊化。在數據安全的大前提下,實(shí)現線(xiàn)上數據脫敏,在保證數據安全的同時(shí)又保持數據形態(tài)的分布,以便業(yè)務(wù)聯(lián)調、數據調研和數據交換。
      使用在彼岸進(jìn)行回歸測試的流程如下圖所示。
     
      圖:使用在彼岸進(jìn)行回歸測試流程圖
      注:本書(shū)中出現的部分專(zhuān)有名詞、專(zhuān)業(yè)術(shù)語(yǔ)、產(chǎn)品名稱(chēng)、軟件項目名稱(chēng)、工具名稱(chēng)等,是淘寶(中國)軟件有限公司內部項目的慣用詞語(yǔ),如與第三方名稱(chēng)雷同,實(shí)屬巧合。來(lái)源:阿里云云棲號
    【免責聲明】本文僅代表作者本人觀(guān)點(diǎn),與CTI論壇無(wú)關(guān)。CTI論壇對文中陳述、觀(guān)點(diǎn)判斷保持中立,不對所包含內容的準確性、可靠性或完整性提供任何明示或暗示的保證。請讀者僅作參考,并請自行承擔全部責任。

    相關(guān)熱詞搜索: 統一計算平臺

    上一篇:出道即巔峰:IBM Z15的輝煌一年

    下一篇:最后一頁(yè)

    相關(guān)閱讀:

    專(zhuān)題

    CTI論壇會(huì )員企業(yè)

    亚洲精品网站在线观看不卡无广告,国产a不卡片精品免费观看,欧美亚洲一区二区三区在线,国产一区二区三区日韩 柘城县| 阳泉市| 靖边县| 安达市| 东乌珠穆沁旗| 集贤县| 中山市| 商都县| 通海县| 漳平市| 宁陵县| 多伦县| 吴江市| 鹤山市| 安塞县| 藁城市| 新平| 云林县| 新乐市| 西乡县| 自治县| 西丰县| 桐城市| 鹿泉市| 洛南县| 潍坊市| 蛟河市| 色达县| 信阳市| 汽车| 九江县| 道真| 潍坊市| 湟源县| 南陵县| 麻栗坡县| 桃源县| 包头市| 元谋县| 黄浦区| 页游| http://444 http://444 http://444 http://444 http://444 http://444