全部產品
Search
文件中心

DataWorks:資料開發概述

更新時間:Jun 26, 2024

DataWorks資料開發(DataStudio)模組用於定義周期調度任務的開發及調度屬性,與營運中心配合使用,面向各引擎(MaxCompute、Hologres、EMR等)提供可視化開發主介面,支援智能代碼開發、多引擎混編工作流程、正常化任務發布等能力,協助您輕鬆構建離線數倉、即時數倉與即席分析系統,保證資料生產的高效穩定。

進入資料開發

登入DataWorks控制台,切換至目標地區後,單擊左側導覽列的資料建模與開發 > 資料開發,在下拉框中選擇對應工作空間後單擊進入資料開發

資料開發主要功能

資料開發(DataStudio)的主要功能介紹如下。您可參考資料開發相關概念輔助理解。資料開發功能

類型

描述

對象組織及管理

DataWorks資料開發提供的對象組織與管理機制如下:

  • 對象組織:提供解決方案 > 商務程序兩級管理員模式。DataWorks基於商務程序提供分類樹與可視化面板兩種對象組織方式。您可通過分類樹建立所需對象,或使用商務程序可視化面板拖拽組件,快速構建資料加工流,並支援通過解決方案對商務程序進行進一步的管理。

  • 對象管理:支援使用可視化方式建立及管理節點、表、資源及函數。

更多詳情請參見建立商務程序工作群組織與管理方式

任務開發

  • 能力更豐富

    • 提供豐富的引擎節點,對引擎能力進行全面封裝。

    • 提供通用類節點,可結合引擎節點進行複雜邏輯處理。例如,外部系統觸發調度,檔案對象檢查、條件分支、迴圈執行代碼、輸出結果傳遞等複雜流程式控制制。

  • 操作更簡單

    • 提供商務程序可視化開發機制,可通過拖拽組件方式快速實現多引擎任務的混合編排。

    • 提供智能化的SQL編輯器。使用SQL編輯器時,提供智能提示、SQL運算元結構可視化展示、許可權校正等功能。

DataWorks支援的節點類型,詳情請參見DataWorks節點合集

任務調度

  • 觸發方式:支援外部系統觸發、事件觸發、以及通過內部血緣解析上遊觸發任務調度運行。

  • 依賴類型:支援設定同周期與跨周期依賴,以及多種調度周期、不同類型任務的相互依賴。

  • 執行控制:支援設定任務是否重跑;支援通過上遊任務控制下遊整體調度時間;支援設定調度任務的生效日期;支援定義任務的調度類型。例如,空跑(即不執行且不阻塞下遊任務調度);凍結(不執行並阻塞下遊任務調度)。

  • 等冪保障:提供任務重跑機制,支援自訂重跑條件與重跑次數。

更多調度相關說明,詳情請參見時間屬性配置說明調度依賴配置指引

任務調試

提供單任務調試機制與基於商務程序的工作流程調試機制。詳情請參見任務調試流程

流程管控

提供正常化任務發布機制,及多種方式的流程管控機制。包括但不限於以下情境:

  • 提供任務發布前人工評審代碼(程式碼檢閱),與煙霧測試 (Smoke Test),並支援阻塞發布存在問題的生產調度流程。

  • 支援結合資料治理的治理項檢查、擴充程式自訂校正邏輯等方式,對任務提交及發布生產調度的操作進行自訂且自動化的流程管控。

其他

  • 開放能力:結合開放平台提供豐富的OpenAPI,並內建大量擴充點,可通過DataWorks開放平台實現DataWorks資料開發相關事件訊息的訂閱。

  • 許可權控制:支援介面功能許可權及資料存取權限控制。詳情請參見空間級模組許可權管控

  • 查看操作記錄:DataWorks整合阿里雲Action Trail(ActionTrail)產品,您可在ActionTrail中查看及檢索阿里雲帳號最近在DataWorks上的操作行為事件記錄。詳情請參見查看資料開發操作記錄

資料開發介面認識

您可通過資料開發功能索引瞭解資料開發操作介面,以及各模組功能如何使用。

任務開發流程

DataWorks資料開發支援建立多種類型引擎的即時同步任務、離線調度任務(包括離線同步任務、離線加工任務)、手動觸發任務。其中,資料同步相關能力您可前往Data Integration模組瞭解;實際開發調度任務時,不同引擎任務的配置要求存在差異,您需先瞭解不同引擎基於DataWorks開發的注意事項及相關說明,再根據待開發的任務類型開始資料開發工作。

  • 各引擎開發說明:DataWorks支援建立各種資料來源並進行引擎開發工作單位,不同引擎任務所需的配置存在差異,其中主要引擎任務的開發說明請參見:

  • 通用開發流程:DataWorks的工作空間分為標準模式和簡單模式,不同模式工作空間下調度任務的開發流程存在一定差異,具體如下。

    標準模式工作空間開發流程標準模式工作空間開發流程

    簡單模式工作空間開發流程簡單模式工作空間開發流程

    • 基本流程:以標準模式為例,調度任務的開發流程包括開發、調試、調度配置、提交、發布、營運等階段。其中,任務開發的通用開發流程,請參見通用開發流程

    • 流程管控:任務在開發過程可結合資料開發(DataStudio)內建的程式碼檢閱煙霧測試 (Smoke Test)等功能,以及資料治理中心預設的檢查項、開放平台基於擴充程式實現自訂邏輯校正等功能,保障開發工作單位符合規範。

      說明

      不同工作空間模式涉及的流程管控操作存在差異,具體請以實際管控功能為準。

工作群組織與管理方式

DataWorks資料開發的商務程序是具體代碼開發、資源群組織的單位,是業務的抽象實體,協助您使用業務視角來組織資料代碼開發。工作空間之間的商務程序、任務節點為獨立開發,互不影響。更多關於商務程序的使用,詳情請參見建立商務程序

商務程序的呈現包括分類樹及操作面板兩種方式,協助您基於業務視角組織代碼,使得資源類別更明確,商務邏輯更清晰。

  • 分類樹結構:提供基於任務類型的程式碼群組織方式。

  • 商務程序面板:提供流程化的商務邏輯展現方式。

開發組織圖

附錄:資料開發支援的節點合集

DataWorks的資料開發(DataStudio)模組提供了多種類型節點,同時,多種類型節點支援週期性任務調度,您可基於業務需要選擇合適的節點進行相關開發操作。DataWorks支援的節點合集,詳情請參見DataWorks節點合集

附錄:資料開發相關概念

  • 任務開發相關

    概念

    描述

    解決方案

    商務程序的集合。您可將一類商務程序劃分為一個解決方案進行統籌管理。一個商務程序可被多個解決方案複用。進行資料開發時,其他使用者可在其它解決方案中,直接編輯您解決方案中引用的商務程序,進行協同開發。

    商務程序

    面向某一特定業務需求的任務、表、資源、函數的集合,業務的抽象實體。該類商務程序中的任務可按計劃定時觸發運行。

    手動商務程序

    面向某一特定業務需求的任務、表、資源、函數的集合。

    手動商務程序與商務程序的區別為:手動商務程序中的任務需手動觸發運行,而商務程序中的任務是按計劃來定時觸發運行。

    DAG

    英文Directed Acyclic Graph的縮寫,即有向非循環圖。用於展示節點及其依賴關係。在資料開發(DataStudio)中,商務程序下的所有任務會展示在同一個DAG中,方便您進行任務開發及依賴關係配置。

    任務

    任務是DataWorks的基本執行單元。DataWorks根據任務間的依賴關係依次執行各個任務。

    節點

    節點用於指代DAG中的一個任務。DataWorks根據節點間的依賴關係依次運行各個節點。

  • 任務調度相關

    概念

    描述

    依賴關係

    任務間通過依賴關係定義任務的運行順序。如果節點A運行後,節點B才能運行,我們稱A是B的上遊依賴,或者B依賴A。在DAG中,依賴關係用節點間的箭頭表示。

    輸出名

    用於區分本節點與其他節點的標識符。輸出名全域唯一,一個節點可包含多個輸出名。DataWorks通過輸出名設定節點調度依賴關係。

    調度資源群組

    部署了DataWorks發送器的一組ECS執行個體,分為公用調度資源群組獨享調度資源群組

    • 公用調度資源群組:所有DataWorks租戶共用,高峰期可能出現任務排隊情況。適用於任務量少、時效性要求不高的情境。

    • 獨享調度資源群組:租戶獨享,用於任務量大、時效性要求高的情境。Shell等類型的任務必須使用獨享調度資源群組。

    調度參數

    調度參數是代碼中用於調度運行時動態取值的變數。代碼在重複運行時若希望擷取到運行環境的一些資訊,例如日期、時間等,可根據DataWorks調度系統的調度參數定義,動態為代碼中的變數賦值。

    業務日期

    指昨天,在離線計算情境下,交易日期為業務發生的日期。DataWorks預設取調度時間內,任務預期調度已耗用時間的前一天(即昨天)的日期為業務日期,精確到天。例如,今天統計前一天的營業額,此處的前一天,指交易發生的日期,也就是業務日期。

    定時時間

    指今天,即某業務資料加工任務的預期執行時間。DataWorks預設取調度時間內,任務預期調度啟動並執行時間點(即今天)為定時時間,精確到秒。任務預期執行時間,與實際開始執行時間並非完全一致。任務實際開始執行時間受多方因素影響。