日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

连载:阿里巴巴大数据实践—数据开发平台

發布時間:2024/9/3 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 连载:阿里巴巴大数据实践—数据开发平台 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
簡介:介紹MaxCompute和阿里巴巴內部基于MaxCompute的大數據開發套件,并對在數據開發過程中經常遇到的問題和相關解決方案進行介紹。

前言:
-更多關于數智化轉型、數據中臺內容請加入阿里云數據中臺交流群—數智俱樂部 和關注官方微信公總號(文末掃描二維碼或點此加入)

-阿里云數據中臺官網 https://dp.alibaba.com/index

數據只有被整合和計算,才能被用于洞察商業規律,挖掘潛在信息,從而實現大數據價值,達到賦能于商業和創造價值的目的。面對海量的數據和復雜的計算,阿里巴巴的數據計算層包括兩大體系:數據存儲及計算平臺(離線計算平臺MaxCompute和實時計算平臺StreamCompute)、數據整合及管理體系(OneData)

阿里數據研發崗位的工作大致可以概括為:了解需求→模型設計→ETL開發→測試→發布上線→日常運維→任務下線。與傳統的數據倉庫開發(ETL)相比,阿里數據研發有如下幾個特點:

  • 業務變更頻繁——業務發展非常快,業務需求多且變更頻繁;
  • 需要快速交付——業務驅動,需要快速給出結果;
  • 頻繁發布上線——迭代周期以天為單位,每天需要發布數次;
  • 運維任務多——在集團公共層平均每個開發人員負責上百多個任務;
  • 系統環境復雜——阿里平臺系統多為自研,且為了保證業務的發展,平臺系統的迭代速度較快,平臺的穩定性壓力較大。

通過統一的計算平臺(MaxCompute)、統一的開發平臺、統一的數據模型規范和統一的數據研發規范,可以在一定程度上解決數據研發的痛點。

本文主要介紹MaxCompute和阿里巴巴內部基于MaxCompute的大數據開發套件,并對在數據開發過程中經常遇到的問題和相關解決方案進行介紹。

1、統一計算平臺

阿里離線數據倉庫的存儲和計算都是在阿里云大數據計算服務MaxCompute上完成的。

大數據計算服務MaxCompute是由阿里云自主研發的海量數據處理平臺,主要服務于海量數據的存儲和計算,提供完善的數據導入方案,以及多種經典的分布式計算模型,提供海量數據倉庫的解決方案,能夠更快速地解決用戶的海量數據計算問題,有效降低企業成本,并保障數據安全。

MaxCompute采用抽象的作業處理框架,將不同場景的各種計算任務統一在同一個平臺之上,共享安全、存儲、數據管理和資源調度,為來自不同用戶需求的各種數據處理任務提供統一的編程接口和界面。它提供數據上傳/下載通道、SQL、MapReduce、機器學習算法、圖編程模型和流式計算模型多種計算分析服務,并且提供完善的安全解決方案。

1.MaxCompute的體系架構

MaxCompute由四部分組成,分別是客戶端(MaxCompute Client)、接入層(MaxCompute Front End)、邏輯層(MaxCompute Server)及存儲與計算層(Apsara Core)。

圖:MaxCompute體系架構圖

2.MaxCompute的特點

(1)計算性能高且更加普惠

2016年11月10日,Sort Benchmark在官方網站公布了2016年排序競賽CloudSort項目的最終成績。阿里云以$1.44/TB的成績獲得 Indy(專用目的排序)和Daytona(通用目的排序)兩個子項的世界冠軍,打破了AWS在2014年保持的紀錄$4.51/TB。這意味著阿里云將世界頂級的計算能力,變成普惠科技的云產品。CloudSort又被稱為“云計算效率之爭”,這項目賽比拼的是完成100TB數據排序誰的花費更少,也是Sort Benchmark的各項比賽當中最具現實意義的項目之一。

(2)集群規模大且穩定性高

MaxCompute平臺共有幾萬臺機器、存儲近1000PB,支撐著阿里巴巴的很多業務系統,包括數據倉庫、BI分析和決策支持、信用評估和無擔保貸款風險控制、廣告業務、每天幾十億流量的搜索和推薦相關性分析等,系統運行非常穩定。同時,MaxCompute能保證數據的正確性,如對數據的準確性要求非常高的螞蟻金服小額貸款業務,就運行于MaxCompute平臺之上。

(3)功能組件非常強大

MaxCompute SQL:標準SQL的語法,提供各類操作和函數來處理數據。

MaxCompute MapReduce:提供Java MapReduce 編程模型,通過接口編寫MR程序處理MaxCompute中的數據。還提供基于MapReduce的擴展模型MR2,在該模型下,一個Map函數后可以接入連續多個Reduce函數,執行效率比普通的MapReduce模型高。

MaxCompute Graph:面向迭代的圖計算處理框架,典型應用有PageRank、單源最短距離算法、K-均值聚類算法。

Spark:使用Spark接口編程處理存儲在MaxCompute中的數據。

RMaxCompute:使用R處理MaxCompute中的數據。

Volume:MaxCompute以Volume的形式支持文件,管理非二維表數據。

(4)安全性高

MaxCompute提供功能強大的安全服務,為用戶的數據安全提供保護。MaxCompute采用多租戶數據安全體系,實現用戶認證、項目空間的用戶與授權管理、跨項目空間的資源分享,以及項目空間的數據保護。如支付寶數據,符合銀行監管的安全性要求,支持各種授權鑒權審查和“最小訪問權限”原則,確保數據安全。

2、統一開發平臺

阿里數據開發平臺集成了多個子系統來解決實際生產中的各種痛點。圍繞MaxCompute計算平臺,從任務開發、調試、測試、發布、監控、報警到運維管理,形成了整套工具和產品,既提高了開發效率,又保證了數據質量,并且在確保數據產出時效的同時,能對數據進行有效管理。

數據研發人員完成需求了解和模型設計之后,進入開發環節,開發工作流如圖所示。

圖:開發工作流圖

對應于開發工作流的產品和工具如下圖所示,我們將對其功能進行簡要介紹。

1.在云端(D2)

D2是集成任務開發、調試及發布,生產任務調度及大數據運維,數據權限申請及管理等功能的一站式數據開發平臺,并能承擔數據分析工作臺的功能。


圖:對應于開發工作流的產品和工具

用戶使用D2進行數據開發的基本流程如下:

——用戶使用IDE進行計算節點的創建,可以是SQL/MR任務,也可以是Shell任務或者數據同步任務等,用戶需要編寫節點代碼、設置節點屬性和通過輸入輸出關聯節點間依賴。設置好這些后,可以通過試運行來測試計算邏輯是否正確、結果是否符合預期。

——用戶點擊提交,節點進入開發環境中,并成為某個工作流的其中一個節點。整個工作流可以被觸發調度,這種觸發可以是人為的(稱之為“臨時工作流”),也可以是系統自動的(稱之為“日常工作流”)。當某個節點滿足所有觸發條件后,會被下發到調度系統的執行引擎Alisa中,完成資源分配和執行的整個過程。

如果節點在開發環境中運行無誤,用戶可以點擊發布,將該節點正式提交到生產環境中,成為線上生產鏈路的一個環節。

2.SQLSCAN

SQLSCAN將在任務開發中遇到的各種問題,如用戶編寫的SQL質量差、性能低、不遵守規范等,總結后形成規則,并通過系統及研發流程保障,事前解決故障隱患,避免事后處理。

SQLSCAN與D2進行結合,嵌入到開發流程中,用戶在提交代碼時會觸發SQLSCAN檢查。SQLSCAN工作流程如下圖所示。

圖:SQLSCAN工作流程圖

用戶在D2的IDE中編寫代碼。

——用戶提交代碼,D2將代碼、調度等信息傳到SQLSCAN。

——SQLSCAN根據所配置的規則執行相應的規則校驗。

——SQLSCAN將檢查成功或者失敗的信息傳回D2。

——D2的IDE顯示OK(成功)、WARNNING(警告)、FAILED(失敗,禁止用戶提交)等消息。

SQLSCAN主要有如下三類規則校驗:

代碼規范類規則,如表命名規范、生命周期設置、表注釋等。

代碼質量類規則,如調度參數使用檢查、分母為0提醒、NULL值參與計算影響結果提醒、插入字段順序錯誤等。

代碼性能類規則,如分區裁剪失效、掃描大表提醒、重復計算檢測等。

SQLSCAN規則有強規則和弱規則兩類。觸發強規則后,任務的提交會被阻斷,必須修復代碼后才能再次提交;而觸發弱規則,則只會顯示違反規則的提示,用戶可以繼續提交任務。

3.DQC

DQC(Data Quality Center,數據質量中心)主要關注數據質量,通過配置數據質量校驗規則,自動在數據處理任務過程中進行數據質量方面的監控。

DQC主要有數據監控和數據清洗兩大功能。數據監控,顧名思義,能監控數據質量并報警,其本身不對數據產出進行處理,需要報警接收人判斷并決定如何處理;而數據清洗則是將不符合既定規則的數據清洗掉,以保證最終數據產出不含“臟數據”,數據清洗不會觸發報警。

DQC數據監控規則有強規則和弱規則之分,強規則會阻斷任務的執行(將任務置為失敗狀態,其下游任務將不會被執行);而弱規則只告警而不會阻斷任務的執行。常見的DQC監控規則有:主鍵監控、表數據量及波動監控、重要字段的非空監控、重要枚舉字段的離散值監控、指標值波動監控、業務規則監控等。

阿里數據倉庫的數據清洗采用非侵入式的清洗策略,在數據同步過程中不進行數據清洗,避免影響數據同步的效率,其過程在數據進入ODS層之后執行。對于需要清洗的表,首先在DQC配置清洗規則;對于離線任務,每隔固定的時間間隔,數據入倉之后,啟動清洗任務,調用DQC配置的清洗規則,將符合清洗規則的數據清洗掉,并保存至DIRTY表歸檔。如果清洗掉的數據量大于預設的閾值,則阻斷任務的執行;否則不會阻斷。

DQC工作流程如下圖所示。

圖:DQC工作流程圖

4.在彼岸

數據測試的典型測試方法是功能測試,主要驗證目標數據是否符合預期。其主要有如下場景:

(1)新增業務需求

新增產品經理、運營、BI等的報表、應用或產品需求,需要開發新的ETL任務,此時應對上線前的ETL任務進行測試,確保目標數據符合業務預期,避免業務方根據錯誤數據做出決策。其主要對目標數據和源數據進行對比,包括數據量、主鍵、字段空值、字段枚舉值、復雜邏輯(如UDF、多路分支)等的測試。

(2)數據遷移、重構和修改

由于數據倉庫系統遷移、源系統業務變化、業務需求變更或重構等,需要對現有的代碼邏輯進行修改,為保證數據質量需要對修改前后的數據進行對比,包括數據量差異、字段值差異對比等,保證邏輯變更正確。為了嚴格保證數據質量,對于優先級(優先級的定義見“數據質量”章節)大于某個閾值的任務,強制要求必須使用在彼岸進行回歸測試,在彼岸回歸測試通過之后,才允許進入發布流程。

在彼岸則是用于解決上述測試問題而開發的大數據系統的自動化測試平臺,將通用的、重復性的操作沉淀在測試平臺中,避免被“人肉”,提高測試效率。

在彼岸主要包含如下組件,除滿足數據測試的數據對比組件之外,還有數據分布和數據脫敏組件。

數據對比:支持不同集群、異構數據庫的表做數據對比。表級對比規則主要包括數據量和全文對比;字段級對比規則主要包括字段的統計值(如SUM、AVG、MAX、MIN等)、枚舉值、空值、去重數、長度值等。

數據分布:提取表和字段的一些特征值,并將這些特征值與預期值進行比對。表級數據特征提取主要包括數據量、主鍵等;字段級數據特征提取主要包括字段枚舉值分布、空值分布、統計值(如SUM、AVG、MAX、MIN等)、去重數、長度值等。

數據脫敏:將敏感數據模糊化。在數據安全的大前提下,實現線上數據脫敏,在保證數據安全的同時又保持數據形態的分布,以便業務聯調、數據調研和數據交換。

使用在彼岸進行回歸測試的流程如下圖所示。

圖:使用在彼岸進行回歸測試流程圖

注:本書中出現的部分專有名詞、專業術語、產品名稱、軟件項目名稱、工具名稱等,是淘寶(中國)軟件有限公司內部項目的慣用詞語,如與第三方名稱雷同,實屬巧合。

本文節選自《大數據之路:阿里巴巴大數據實踐》已受版權保護,未經授權不得轉載


數據中臺是企業數智化的新基建,阿里巴巴認為數據中臺是集方法論、工具、組織于一體的,“快”、“準”、“全”、“統”、“通”的智能大數據體系。目前正通過阿里云數據中臺解決方案對外輸出,包括零售、金融、互聯網、政務等領域,其中核心產品有:

  • Dataphin,一站式、智能化的數據構建及管理平臺;
  • Quick BI,隨時隨地 智能決策;
  • Quick Audience,全方位洞察、全域營銷、智能增長;
  • Quick A+, 跨多端全域應用體驗分析及洞察的一站式數據化運營平臺;

官方站點:
數據中臺官網 https://dp.alibaba.com


原文鏈接:https://developer.aliyun.com/article/769644?

版權聲明:本文內容由阿里云實名注冊用戶自發貢獻,版權歸原作者所有,阿里云開發者社區不擁有其著作權,亦不承擔相應法律責任。具體規則請查看《阿里云開發者社區用戶服務協議》和《阿里云開發者社區知識產權保護指引》。如果您發現本社區中有涉嫌抄襲的內容,填寫侵權投訴表單進行舉報,一經查實,本社區將立刻刪除涉嫌侵權內容。

總結

以上是生活随笔為你收集整理的连载:阿里巴巴大数据实践—数据开发平台的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。