大數據之路:阿里巴巴大數據實踐——離線數據開發

數據開發平臺

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

  • MaxCompute客戶端:包括Web、SDK、CLT、IDE等形式完成 Project 管理、數據同步、任務調度、報表生成等常見操作。

  • MaxCompute接入層:提供HTTP服務、Cache、負載均衡,實現用戶認證和服務層面的訪問控制。

  • MaxCompute控制層:實現用戶空間和對象的管理、命令的解析與執行邏輯、數據對象的訪問控制與授權等功能。

    Worker:處理所有的RESTful 請求,包括用戶空間( Project )管理操作、資源( Resource) 管理操作、作業管理等;對于 SQL DML、MR 等需要啟動 MapReduce 的作業,會生成 MaxCompute Instance 提交給 Scheduler 一步處理。

    Scheduler:負責MaxCompute Instance的調度和拆解,并向計算層的計算集群詢問資源占用情況以進行流控。

    Executor:負責 MaxCompute Instance 的執行,向計算層的計算集群提交真正的計算任務。

  • MaxCompute計算層:包括分布式文件系統(Pangu)、資源調度系統(Fuxi)、NameSpace服務、監控模塊。

  • MaxCompute元數據:主要包括用戶空間元數據、 Table Partition Schema、ACL、Job 元數據、安全體系等。

  • MaxCompute架構
    在這里插入圖片描述

統一開放平臺
  • D2:集成任務開發、調試及發布,生產任務調度及大數據運維,數據權限申請及管理等功能的一站式數據開發平臺。

  • Dataworks:核心功能與D2一致,D2服務與阿里集團內部業務,Dataworks則為阿里云對外商業化大數據開發治理平臺。

  • SQLSCAN:在任務開發中用戶編寫的SQL質量差、性能低、不遵守規范等問題,總結成規范,通過系統及研發流程保障。

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

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

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

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

    數據監控:監控數據質量并報警,其本身不對數據產出進行處理,需要報警接收人判斷并決定如何處理。

    數據清洗:將不符合既定規則的數據清洗掉,以保證最終數據產出不含“臟數據”,數據清洗不會觸發報警。

    監控規則:主鍵監控、表數據量及波動監控、重要字段的非空監控、重要枚舉宇段的離散值監控、 指標值波動監控等。

任務調度系統

核心設計模型
  • 調度引擎:根據任務節點屬性及依賴關系進行實例化, 生成各類參數的實值,并生成調度樹。
  • 執行引擎:根據調度引擎生成的具體任務實例和配置信息,分配 CPU 內存、運行節點等資源,在任務對應的環境中運行代碼。
任務狀態機模型
  • 預備階段:WAITING_DEPENDENCY → READY → WAITING_RESOURCE

  • 執行階段:RUNNING(核心處理節點)

  • 終態階段:SUCCESS/KILLED/SUSPENDED

  • 異常回路:FAILED ? WAITING_RETRY

    任務創建
    上游依賴滿足
    提交執行請求
    資源分配完成
    執行成功
    執行異常
    用戶主動終止
    重試次數未耗盡
    到達重試時間
    重試次數耗盡
    終止完成
    生命周期結束
    生命周期結束
    人工干預恢復
    人工確認終止
    WAITING_DEPENDENCY
    READY
    WAITING_RESOURCE
    RUNNING
    SUCCESS
    FAILED
    KILLING
    WAITING_RETRY
    SUSPENDED
    KILLED
    核心依賴檢查:
    1. 父任務狀態(成功/跳過)
    2. 跨周期依賴滿足
    3. 數據分區就緒
    4. 業務日期有效性
    執行引擎交互:
    - 啟動計算引擎(MaxCompute/Hive/Spark)
    - 實時監控資源水位
    - 進度心跳檢測(超時自動失敗)
    - 日志實時采集
    智能重試策略:
    1. 指數退避時間(5s→10s→30s→1m)
    2. 資源不足時自動擴容
    3. 節點故障自動轉移
    4. 環境異常自動隔離
工作流狀態機模型
工作流創建
調度時間到達
子任務執行中
所有子任務成功
關鍵子任務失敗
人工暫停
人工終止
人工恢復
人工終止
人工重跑
人工終止
終止完成
生命周期結束
生命周期結束
NOT_STARTED
RUNNING
SUCCESS
FAILED
SUSPENDED
KILLING
KILLED
啟動前檢查:
1. 上游工作流狀態
2. 業務周期有效性
3. 全局資源水位
4. 調度配額
工作流執行控制:
- 任務并行度控制
- 優先級動態調整
- 子任務狀態聚合
- 關鍵路徑監控
- 自動容錯(子任務重試)
暫停狀態行為:
1. 凍結所有子任務狀態
2. 保留當前執行快照
3. 釋放非關鍵資源
4. 通知下游工作流
終止過程:
1. 發送終止信號到所有子任務
2. 清理中間數據
3. 釋放所有資源
4. 更新血緣關系狀態
調度引擎工作原理
  • Async Dispatcher:異步處理任務調度。
  • Sync Dispatcher:同步處理任務調度。
  • Task 事件處理器:任務事件處理器,與任務狀態機交互。
  • DAG 事件處理器:工作流事件處理器,與工作流狀態機交互,一個DAG 事件處理器包含若干個 Task 事件處理器。
    在這里插入圖片描述
執行引擎工作原理
  • 任務管理接口:供用戶系統向 Alisa 中提交、查詢和操作離線任 務,并獲得異步通知。
  • 系統管理接口:供系統管理員進行后臺管理,包括為集群增加新 的機器、劃分資源組、查看集群資源和負載、追蹤任務狀態等。
  • Driver:中實現了任務管理接口和系統管理接口;負責任務的調度策略、集群容災和伸縮、任務失效備援、 負載均衡實現。
  • Task pool:已經提交的任務放入到 Task pool 中管理,包括等待資源、數據質量檢測、運行中、運行成功和失敗的所有任務。
  • Resource manager:組件專注于集群整體資源的管理。
  • Task container:容器負責處理 Task 的公共邏輯,如文件下載,任務級 Session 、流程級 Session 的維護等。
  • Session manager :組件實現了對 Task session 的管理。
  • Node:Node節點負責提供任務運行所需的物理資源,Node 是邏輯概念, 一臺物理機器上可部署一個或者多個 Node。
    在這里插入圖片描述
任務調度系統應用
  • 調度配置:任務提交時, SQL 解析引擎自動識別此任務的輸入表和輸出 表,輸入表自動關聯產出此表的任務 ,輸出表亦然。
  • 定時調度:可以根據實際需要,設定任務的運行時間,共有5種時間類型:分鐘、小時、日、周、月,具體可精確到秒。
  • 周期調度:可按照小時、日等時間周期運行任務,與定時調度的區別是無須指定具體的開始運行時間。
  • 手動運行:當生產環境數據修復或臨時數據操作時,在開發環境中寫好腳本后發布到生產環境,再通過手動觸發運行。
  • 基線管理:基于充分利用計算資源,保證重點業務數據優先產出,合理安排各類優先級任務的運行。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/89981.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/89981.shtml
英文地址,請注明出處:http://en.pswp.cn/web/89981.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

我的網頁聊天室設計

一、需求分析1.用戶管理模塊注冊功能實現一個注冊頁面。注冊頁面上包含了一個輸入框,輸入用戶名和密碼. 注冊成功后可以跳轉到登錄頁面.登錄功能實現一個登錄頁面。登錄頁面上包含一個輸入框。輸入用戶名和密碼. 登錄成功后可以跳轉到主頁面.2.主界面用戶信息左上角…

數據結構自學Days10 -- 二叉樹的常用實現

? 一、為什么要學習二叉樹? 1. 📦 組織數據的高效方式 二叉樹可以快速插入、刪除、查找數據,尤其在平衡時,時間復雜度為 $O(\log n)$。 適合表示分層結構(如組織結構、文件系統、語法樹)。 2. &#x…

Java注解家族--`@ResponseBody`

ResponseBody ResponseBody是 Spring 框架中的一個注解,在基于 Spring 的 Web 開發中扮演著重要角色,以下是對它的詳細總結: 1.定義與基本功能 定義:ResponseBody注解用于將 Controller 方法的返回值,通過適當的 HttpM…

react-window 大數據列表和表格數據渲染組件之虛擬滾動

簡介 React Window 是一個高效的 React 組件庫,專為渲染大數據列表和表格數據而設計。它通過”虛擬化”技術(也稱為”窗口化”或”列表虛擬化”)解決了在 React 應用中渲染大量數據時的性能問題。與傳統方法不同,React Window 只…

Eltable tree形式,序號列實現左對齊,并且每下一層都跟上一層的錯位距離拉大

要的是如圖所示效果序號加個class-name寫樣式然后給eltable加indent屬性就可以了,我設置的25

FOC算法中SIMULINK一些常用模塊(2)-Permanent Magnet Synchronous Machine模塊

一,介紹這三個模塊一起介紹了,由左到右,分別是電源模塊,驅動模塊和電機模塊。主要介紹一下電機模塊二,DC Voltage SourceDC Voltage Source 模塊是用于表示直流電壓源的基本組件,可以提供恒流直壓&#xff…

RPG62.制作敵人攻擊波數二:攻擊ui

1。經典創建userwidget,使用xmbtextblock,結構如下。然后設置動畫與音頻,上下的參數是一樣的,轉到圖表打開BP_SurvialGameMode2.再創建一個widget,結構如下新添的動畫打開XMBGameModeBase,創建構造函數AXMB…

DL00691-基于深度學習的軸承表面缺陷目標檢測含源碼python

DL00691-基于深度學習的軸承表面缺陷目標檢測含源碼python

Word 中為什么我的圖片一拖就亂跑,怎么精確定位?

核心原因:文字環繞方式 (Text Wrapping) 問題的根源在于圖片的**“文字環繞”**設置。 默認狀態:“嵌入型” (In Line with Text) 當您插入一張圖片時,Word默認會把它當作一個巨大的文字字符來處理。這就是為什么您拖動它時,它會像…

Linux物理地址空間入門:從硬件到內核內存的基石

目錄 一、物理地址空間是什么? 二、物理地址空間的構成:不僅僅是內存 三、Linux內核如何管理物理地址空間 (1)物理內存的碎片化問題 (2)物理地址的分區管理 (3)物理地址與內核…

【2025最新版】PDFelement全能PDF編輯器

工具https://pan.quark.cn/s/a56d17fd05dd強大全能的PDF編輯神器PDFelementPro 全能PDF工具套裝 PDF閱讀器 PDF創建器 PDF編輯器 PDF注釋器 PDF轉換器 OCR識別工具 表單填寫和創建 數據提取 批量處理 更多詳情萬興PDF專業版特性。格式轉換:PDFelement輕松…

基于單片機汽車駕駛防瞌睡防疲勞報警器自動熄火設計

(一)系統功能設計 51單片機汽車駕駛防疲勞防瞌睡報警器自動熄火15 本系統由STC89C52單片機、蜂鳴器、ADXL345重力加速度傳感器、繼電器控制、按鍵、指示燈及電源組成。 1、通過按鍵點亮led燈,代表車輛啟動和熄火。 2、車輛啟動后,…

OpenCV中的卷積高斯模糊與中值模糊

目錄 一、卷積高斯模糊 (Gaussian Blur) 1. 原理與數學基礎 2. OpenCV函數實現 3. 關鍵參數說明 4. 代碼示例 5. 特點與應用 二、中值模糊 (Median Blur) 1. 原理與數學基礎 2. OpenCV函數實現 3. 關鍵參數說明 4. 代碼示例 5. 特點與應用 三、兩種模糊方法對比分析…

macbookpro m1 max本兒上速搭一個elasticsearch+kibana環境

一、找個目錄,新建一個: docker-compose.yml version: "3.9" services:elasticsearch:image: docker.elastic.co/elasticsearch/elasticsearch:8.13.0 # 與 Kibana 版本一致container_name: elasticsearchenvironment:- discovery.typesingle-node- xpa…

部署zabbix企業級分布式監控

一. 監控系統的功能概述監控、從中文的字義來看,有兩個內容,一是檢測,二是控制。重點在第一個字眼,即檢測、預防的意思。監控,對應的英文單詞是 Monitoring。在計算機領域,可以將其分為5種監控類型。應用性…

【重學MySQL】redolog binlog

目錄 Buffer Pool是什么? redo log(Innodb獨有) 為什么需要redolog? 類比的方式巧記redolog binlog(Server層獨有) binlog是干啥的? 為什么有了 binlog, 還要有 redo log&…

企業信息化建設技術底座建設解決方案

1、企業數字化底座與數字化綜述2、企業數字化底座與數字化總體架構3、企業數字化底座與數字化規劃設計4、企業數字化底座與數字化建設運營5、企業數字化底座與數字化未來展望篇幅有限以下只展示部分截圖:

Spring Cloud Alibaba 之 Nacos

Spring Cloud Alibaba 之 Nacos . Nacos官方文檔: https://nacos.io/docs/latest/overview/?spm5238cd80.47ee59c.0.0.770fcd36HoVbU6 1.什么是Nacos Nacos(Dynamic Naming and Configuration Service)是阿里巴巴開源的一款動態服務發現、…

Car Kit重構車機開發體驗,讓車載應用開發駛入快車道

在智能座艙成為汽車行業“新四化”核心戰場的今天,開發者們正面臨這樣的挑戰:如何讓手機應用快速適配車機場景?如何實現手機與車機無感流轉?如何在保障駕駛安全的前提下提供沉浸式交互體驗? HarmonyOS SDK 車服務&…

ruoyi-flowable-plus Excel 導入數據 Demo

📁 項目結構簡述 ruoyi-flowable-plus 是基于 RuoYi 的擴展項目,使用: 后端:Spring Boot MyBatis Flowable前端:Vue.js 📥 Excel 導入功能 Demo 以導入用戶數據為例,展示完整導入流程。 …