全部產品
Search
文件中心

DataWorks:DataWorks快速入門

更新時間:Nov 20, 2024

DataWorks基於MaxCompute、Hologres、EMR、AnalyticDB、CDP等巨量資料引擎,為資料倉儲、資料湖、湖倉一體等解決方案提供統一的全鏈路巨量資料開發治理平台。本文以DataWorks的部分核心功能為例,指導您使用DataWorks接入資料並進行業務處理、周期調度以及資料視覺效果。

入門簡介

通過本快速入門,您可以快速完成以下操作。

  1. 資料同步:通過DataWorks的Data Integration模組,建立離線同步任務,將業務資料同步至巨量資料計算平台(如MaxCompute數倉)。

  2. 資料清洗:在DataWorks的資料開發模組中,對業務資料進行處理、分析和挖掘。

  3. 資料展示:在DataWorks的資料分析模組中,將分析結果轉化為圖表,便於業務人員理解。

  4. 周期性調度:為資料同步和資料清洗流程配置周期性調度,使其定時執行。

image

前提條件

為確保本教程可以順利進行,推薦使用阿里雲主帳號或具備AliyunDataWorksFullAccess許可權的RAM使用者。具體操作,請參見準備阿里雲帳號(主帳號)準備RAM使用者(子帳號)

說明

DataWorks提供了完善的許可權管控機制,支援在產品級與模組層級對許可權進行管控,如果您需要更精細的許可權控制,請參見DataWorks許可權體系功能概述

準備工作

  1. 建立工作空間並綁定資源群組。

    本教程以華東2(上海)地區為例,介紹DataWorks快速入門,您需要登入DataWorks管理主控台,切換至華東2(上海)地區,查看該地區是否開通DataWorks。

    說明

    本教程以華東2(上海)為例,在實際使用中,請根據實際業務資料所在位置確定開通地區:

    • 如果您的業務資料位元於阿里雲的其他雲端服務,請選擇與其相同的地區。

    • 如果您的業務在本地,需要通過公網訪問,請選擇與您實際地理位置較近的地區,以降低訪問延遲。

    • 如果未開通,單擊0元組合購買,通過組合購買,一站式完成DataWorks開通、預設空間建立以及資源群組綁定。

      新開通DataWorks步驟

      1. 配置組合購買頁相關參數。

        參數

        說明

        樣本

        地區

        選擇需要開通DataWorks的地區。

        華東2(上海)

        DataWorks

        選擇需要購買的DataWorks版本。

        說明

        本教程以基礎版為例,所有版本均可體驗本教程所涉及的功能,您可以參考DataWorks各版本支援的功能詳情,根據實際業務需要,選擇合適的DataWorks版本。

        基礎版

      2. 勾選服務合約後,單擊確認訂單並支付,完成後續支付。

        說明

        完成購買後,系統將自動建立工作空間,並預設建立資源群組綁定至工作空間,用於後續Data Integration、資料開發、資料調度等任務的運行。

      3. 你可以前往DataWorks工作空間列表,切換至華東2(上海)地區,查看已建立的工作空間。

        image

    • 如果已開通,則需要手動建立本次教程使用的工作空間、資源群組及資源群組綁定操作。

      手動建立工作空間、資源群組及資源群組綁定操作

      1. 建立工作空間。

        1. 單擊DataWorks管理主控台左側導覽列的工作空間,進入工作空間列表頁面,然後單擊建立工作空間

        2. 在建立工作空間頁面,自訂工作空間名稱,然後單擊建立工作空間

      2. 建立資源群組。

        1. 單擊DataWorks管理主控台左側導覽列的資源群組,進入資源群組列表,然後單擊建立資源群組

        2. DataWorks通用資源群組(隨用隨付)頁面,配置如下參數。

          參數

          說明

          資源群組名稱

          自訂。

          Virtual Private Cloud交換器(V-Switch)

          選擇已有的VPC和交換器,如當前地區沒有,請單擊參數說明中對應的控制台連結前往建立。

          服務關聯角色

          根據頁面提示,建立DataWorks服務關聯角色

        3. 單擊立即購買,完成後續支付。

      3. 為工作空間綁定資源群組。

        1. 單擊DataWorks管理主控台左側導覽列的資源群組,進入資源群組列表頁面,找到已建立的資源群組,單擊操作列的綁定工作空間

        2. 綁定工作空間頁面,找到已建立的DataWorks工作空間,單擊其操作列的綁定

  2. 為資源群組綁定的VPC配置EIP。

    本教程使用的電商平台公開測試業務資料需要通過公網擷取,而上一步建立的通用型資源群組預設不具備公網訪問能力,需要為資源群組綁定的VPC配置公網NAT Gateway,添加EIP,使其與公開資料網路打通,從而擷取資料。

    配置步驟

    1. 登入專用網路-公網NAT Gateway控制台,在頂部功能表列切換至華東2(上海)地區。

    2. 單擊建立公網NAT Gateway。配置相關參數。

      參數

      取值

      所屬地區

      華東2(上海)。

      所屬專用網路

      選擇資源群組綁定的VPC和交換器。

      您可以前往DataWorks管理主控台,切換地區後,在左側導覽列單擊資源群組列表,找到已建立的資源群組,然後單擊操作列的網路設定,在資料調度 & Data Integration地區查看綁定專用網路交換器。VPC和交換器的更多資訊,請參見什麼是專用網路

      關聯交換器

      訪問模式

      VPC全通模式(SNAT)。

      Elastic IP Address執行個體

      新購Elastic IP Address。

      關聯角色建立

      首次建立NAT Gateway時,需要建立服務關聯角色,請單擊建立關聯角色

      說明

      上表中未說明的參數保持預設值即可。

    3. 單擊立即購買,勾選服務合約後,單擊立即開通,完成購買。

      image

操作步驟

本文以如下情境為例,指導您快速體驗DataWorks的相關功能:

假設某一電商平台將商品資訊、訂單資訊儲存在MySQL資料庫中,需要定期對訂單資料進行分析,通過可視化的方式查看每日最暢銷商品類目排名表。

步驟一:資料同步

  1. 建立資料來源。

    DataWorks通過建立資料來源的方式,接入資料來源和資料去向,因此,本步驟需要分別建立MySQL和MaxCompute兩個資料來源

    • MySQL資料來源,用於串連資料來源(儲存業務資料的MySQL資料庫),為本教程提供原始業務資料。

      說明

      您無需準備本教程使用的原始業務資料,為方便測試和學習,DataWorks為您提供測試資料集,相關表資料已儲存在公網MySQL資料庫中,您只需建立MySQL資料來源接入即可。

      建立MySQL資料來源步驟

      1. 進入管理中心頁面。

        登入DataWorks控制台,切換至目標地區後,單擊左側導覽列的更多 > 管理中心,在下拉框中選擇對應工作空間後單擊進入管理中心

      2. 在左側導覽列單擊資料來源 > 資料來源列表,然後單擊新增資料來源,選擇資料來源類型為MySQL資料來源。

      3. 配置MySQL資料來源相關參數。

        說明
        • 表中未說明的參數保持預設值即可。

        • 首次新增資料來源時,需要完成跨服務授權,請根據頁面提示,授權服務關聯角色AliyunDIDefaultRole

        參數

        描述

        資料來源名稱

        本樣本為MySQL_Source

        配置模式

        選擇串連串模式

        串連地址

        單擊新增地址

        • 主機地址IP:rm-bp1z69dodhh85z9qa.mysql.rds.aliyuncs.com

        • 連接埠號碼:3306

        重要

        本教程提供的資料僅作為阿里雲巨量資料開發治理平台 DataWorks資料應用實操使用,所有資料均為測試資料,並且僅支援在Data Integration模組讀取資料。

        資料庫名稱

        配置為retail_e_commerce

        使用者名稱

        輸入使用者名稱workshop

        密碼

        輸入密碼workshop#2017

      4. 串連配置地區,找到工作空間已綁定的資源群組,單擊連通狀態列的測試連通性

        說明

        如果MySQL資料來源連通性測試失敗,請檢查是否為資源群組綁定的VPC配置EIP,MySQL資料來源需要資源群組具備公網訪問能力。

      5. 單擊完成建立

    • MaxCompute資料來源,用於串連資料去向(MaxCompute數倉),將MaxCompute資料來源綁定至資料開發後,能夠為本教程提供資料存放區和計算能力。

      • 如果您的專案空間中存在已添加的MaxCompute資料來源,則無需進行此步驟

      • 如果您的專案空間中沒有添加MaxCompute資料來源,在參考如下步驟建立。

        建立MaxCompute資料來源步驟

        1. 管理中心左側導覽列單擊資料來源 > 資料來源列表,然後單擊新增資料來源,選擇資料來源類型為MaxCompute資料來源。

        2. 配置MaxCompute資料來源相關參數。

          說明

          表中未說明的參數保持預設值即可。

          參數

          描述

          資料來源名稱

          本樣本為MaxCompute_Source

          地區

          選擇MaxCompute資料來源所在地區。

          MaxCompute專案名稱

          選擇建立MaxCompute專案

          計算資源付費類型

          選擇隨用隨付

          說明

          如果隨用隨付不可選,請單擊隨用隨付後的去開通,完成MaxCompute服務的開通。

          預設Quota

          下拉選擇預設已存在的Quota。

          預設訪問身份

          阿里雲主帳號。

        3. 串連配置地區,找到工作空間已綁定的資源群組,單擊連通狀態列的測試連通性

          說明

          MaxCompute專案名稱全域唯一,如測試連通性不通過,報錯提示為ErrorMessage:[ODPS-0420095: Access Denied - Authorization Failed [4002], You don't exist in project xxx.,是因為專案名稱已存在,請修改專案名稱後再試。

        4. 單擊完成建立

  2. 資料開發綁定MaxCompute資料來源。

    需要先將MaxCompute資料來源綁定至資料開發,後續才能在資料開發模組中對MaxCompute的資料進行處理。

    1. 單擊左上方image表徵圖,在彈出頁面中單擊全部產品 > 資料開發與營運 > DataStudio(資料開發)

    2. 在左側導覽列單擊資料來源image),找到已建立的MaxCompute資料來源,單擊綁定

      說明

      如果您的資料開發模組已綁定了MaxCompute資料來源,則無需進行此步驟

      image

  3. 建立虛擬節點,用於統籌管理整個電商平台銷售資料分析的商務程序。該節點為空白跑任務,無須編輯代碼。

    在左側導覽列單擊image表徵圖,進入資料開發頁面,找到商務程序 > Workflow,然後右鍵Workflow,選擇建立節點 > 通用 > 虛擬節點,自訂節點名稱,本教程以Workshop為例。

  4. 建立離線同步任務。

    本教程使用的測試資料涉及兩張表(商品資訊源表item_info和訂單資訊源表trade_order),這兩張表格儲存體於MySQL資料來源關聯的MySQL資料庫中,本步驟需要分別建立兩個離線同步節點(節點名稱以ods_item_infoods_trade_order為例),用於將item_info表和trade_order表同步至MaxCompute資料來源關聯的MaxCompute數倉中,然後再進行後續資料開發。

    1. 建立ods_item_info離線同步節點

      1. 右鍵Workflow,選擇建立節點 > Data Integration > 離線同步

      2. 建立節點頁面,設定名稱ods_item_info

      3. 配置資料來源為已建立的MySQL資料來源,資料去向為已綁定至資料開發的MaxCompute資料來源,中間的資源群組選擇工作空間已綁定的資源群組,然後測試連通性都為可連通後,單擊下一步

        image

      4. 配置資料來源資料去向的相關參數。

        說明

        表中未說明的參數保持預設值即可。

        配置地區

        參數

        ods_item_info離線同步節點取值

        資料來源

        item_info

        資料去向

        單擊一鍵產生目標表結構,在建立表視窗中,修改建表語句,將表名修改為ods_item_info,然後單擊建立表

        通道控制

        髒資料策略

        配置為不容忍髒資料

      5. 單擊離線同步任務配置視窗頂部的儲存image),然後單擊帶參運行image)。

        重要

        在離線計算情境下,bizdate為業務交易發生的日期,也常被稱為業務日期(business date)。例如,今天統計前一天的營業額,此處的前一天,指交易發生的日期,也就是業務日期。帶參運行時,自訂參數取值保持預設(目前時間的前一天)即可。

        如果您在此時修改了bizdate取值,請在後續本文所有節點涉及帶參運行時,同步修改bizdate取值。

    2. 建立ods_trade_order離線同步節點

      1. 右鍵Workflow,選擇建立節點 > Data Integration > 離線同步

      2. 建立節點頁面,設定名稱ods_trade_order

      3. 配置資料來源為已建立的MySQL資料來源,資料去向為已綁定至資料開發的MaxCompute資料來源,中間的資源群組選擇工作空間已綁定的資源群組,然後測試連通性都為可連通後,單擊下一步

      4. 配置資料來源資料去向的相關參數。

        說明

        表中未說明的參數保持預設值即可。

        配置地區

        參數

        ods_trade_order離線同步節點取值

        資料來源

        trade_order

        資料去向

        單擊一鍵產生目標表結構,在建立表視窗中,修改建表語句,將表名修改為ods_trade_order,然後單擊建立表

        通道控制

        髒資料策略

        配置為不容忍髒資料

      5. 單擊離線同步任務配置視窗頂部的儲存image),然後單擊帶參運行image)。

步驟二:資料清洗

資料已從MySQL同步至MaxCompute後,獲得兩張資料表(商品資訊表ods_item_info和訂單資訊表ods_trade_order),您可以在DataWorks的資料開發模組對錶中資料進行清洗、處理和分析,從而擷取每日最暢銷商品類目排名表。

說明
  • 運行ODPS節點時,會展示費用預估,由於每一個ODPS節點配置的SQL中同時包括CREATEINSERT語句,INSERT時,表還未建立,因此可能提示預估費用失敗,請忽略此報錯,直接運行即可。

  • DataWorks提供調度參數,可實現代碼動態入參,您可在SQL代碼中通過${變數名}的方式定義代碼中的變數,並在調度配置 > 調度參數處,為該變數賦值。調度參數支援的格式,詳情請參見調度參數支援的格式。本樣本SQL中使用了調度參數${bizdate},表示業務日期為前一天。

  1. 建立dim_item_info節點。

    基於ods_item_info表,處理商品維度資料,產出商品基礎資訊維度資料表dim_item_info

    操作步驟

    1. 右鍵Workflow,選擇建立節點 > MaxCompute > ODPS SQL,在建立節點頁面,設定名稱dim_item_info後,單擊確認,配置如下SQL。

      CREATE TABLE IF NOT EXISTS dim_item_info (
          gmt_modified                   STRING COMMENT '商品最後修改日期',
          gmt_create                     STRING COMMENT '商品建立時間',
          item_id                        BIGINT COMMENT '商品數字ID',
          title                          STRING COMMENT '商品標題',
          sub_title                      STRING COMMENT '商品子標題',
          pict_url                       STRING COMMENT '主圖URL',
          desc_path                      STRING COMMENT '商品描述的路徑',
          item_status                    BIGINT COMMENT '商品狀態1:確認通過0:未確認通過',
          last_online_time               DATETIME COMMENT '最近一次開始銷售時間,商品上架時間',
          last_offline_time              DATETIME COMMENT '銷售結束時間,表示一個銷售周期的結束,僅作用於拍賣商品',
          duration                       BIGINT COMMENT '有效期間,銷售周期,只有兩個值,7天或14天',
          reserve_price                  DOUBLE COMMENT '當前價格',
          secure_trade_ordinary_post_fee DOUBLE COMMENT '平郵費用',
          secure_trade_fast_post_fee     DOUBLE COMMENT '快遞費用',
          secure_trade_ems_post_fee      DOUBLE COMMENT 'EMS郵費',
          last_online_quantity           BIGINT COMMENT '商品最近一次上架時的庫存數量',
          features                       STRING COMMENT '商品特徵',
          cate_id                        BIGINT COMMENT '商品葉子類目ID',
          cate_name                      STRING COMMENT '商品葉子類目名稱',
          commodity_id                   BIGINT COMMENT '品類ID',
          commodity_name                 STRING COMMENT '品類名稱',
          is_virtual                     STRING COMMENT '是否虛擬商品',
          shop_id                        BIGINT COMMENT '商家ID',
          shop_nick                      STRING COMMENT '商家NICK',
          is_deleted                     BIGINT COMMENT '類目是否刪除'
      )
      COMMENT '商品基礎資訊維度資料表'
      PARTITIONED BY (pt STRING COMMENT '業務日期, yyyymmdd')
      LIFECYCLE 365;
      
      
      -- 插入資料到 dim_item_info 表
      INSERT OVERWRITE TABLE dim_item_info PARTITION(pt='${bizdate}')
      SELECT
          gmt_create,
          gmt_modified,
          item_id,
          title,
          sub_title,
          pict_url,
          desc_path,
          item_status,
          last_online_time,
          last_offline_time,
          duration,
          cast(reserve_price as DOUBLE),
          cast(secure_trade_ordinary_post_fee as DOUBLE),
          cast(secure_trade_fast_post_fee as DOUBLE),
          cast(secure_trade_ems_post_fee as DOUBLE),
          last_online_quantity,
          features,
          cate_id,
          cate_name,
          commodity_id,
          commodity_name,
          is_virtual,
          shop_id,
          shop_nick,
          is_deleted
      FROM ods_item_info
      WHERE pt = '${bizdate}';
    2. 單擊ODPS SQL配置視窗頂部的儲存image),然後單擊帶參運行image)。

  2. 建立dwd_trade_order節點。

    基於ods_trade_order表,對訂單的詳細交易資料進行初步清洗、轉換和商務邏輯處理,產出交易下單明細事實表dwd_trade_order

    操作步驟

    1. 右鍵Workflow,選擇建立節點 > MaxCompute > ODPS SQL,在建立節點頁面,設定名稱dwd_trade_order後,單擊確認,配置如下SQL。

      CREATE TABLE IF NOT EXISTS dwd_trade_order (
          id               BIGINT COMMENT '主鍵,去重後的最新id',
          gmt_create       DATETIME COMMENT '建立時間',
          gmt_modified     DATETIME COMMENT '修改時間',
          sub_order_id     BIGINT COMMENT '子訂單ID',
          parent_order_id  BIGINT COMMENT '父訂單ID',
          buyer_id         BIGINT COMMENT '買家數字id',
          buyer_nick       STRING COMMENT '買家暱稱,處理空值',
          item_id          BIGINT COMMENT '商品數字id',
          item_price       DECIMAL(38,18) COMMENT '商品價格,單位分',
          buy_amount       BIGINT COMMENT '購買數量',
          biz_type         BIGINT COMMENT '交易類型',
          memo             STRING COMMENT '備忘,處理空值',
          pay_status       BIGINT COMMENT '支付狀態',
          logistics_status BIGINT COMMENT '物流狀態',
          status           BIGINT COMMENT '狀態',
          seller_memo      STRING COMMENT '賣家的給交易的備忘',
          buyer_memo       STRING COMMENT '買家給交易的備忘',
          clean_ip         STRING COMMENT '清洗後的買家IP,過濾無效格式',
          end_time         DATETIME COMMENT '交易結束時間',
          pay_time         DATETIME COMMENT '付款的時間',
          is_sub           BIGINT COMMENT '是否是子訂單1表示子訂單',
          is_parent        BIGINT COMMENT '是否是父訂單1表示父訂單',
          shop_id          BIGINT COMMENT '商家id',
          total_fee        DECIMAL(38,18) COMMENT '去除折扣和調整後的子訂單費用',
          is_large_order_flag BOOLEAN COMMENT '是否為大額訂單標誌'
      )
      COMMENT '交易下單明細事實表,包含初步清洗和商務邏輯處理'
      PARTITIONED BY (pt STRING COMMENT '業務日期, yyyymmdd')
      LIFECYCLE 365; -- 資料生命週期設定為365天
      
      
      INSERT OVERWRITE TABLE dwd_trade_order PARTITION(pt='${bizdate}')
      SELECT
          MAX(id) AS id, -- 假設使用最新的id作為去重標準
          gmt_create,
          gmt_modified,
          sub_order_id,
          parent_order_id,
          buyer_id,
          COALESCE(buyer_nick, '') AS buyer_nick, -- 處理buyer_nick為空白的情況
          item_id,
          item_price,
          buy_amount,
          biz_type,
          COALESCE(memo, '') AS memo, -- 處理memo為空白的情況
          pay_status,
          logistics_status,
          status,
          seller_memo,
          buyer_memo,
          CASE 
              WHEN ip LIKE '__.__.__.__' THEN NULL -- 過濾無效IP格式
              ELSE ip 
          END AS clean_ip,
          end_time,
          pay_time,
          is_sub,
          is_parent,
          shop_id,
          total_fee,
          CASE 
              WHEN total_fee >= 10000 THEN TRUE -- 假設大於10000分的訂單為大額訂單
              ELSE FALSE 
          END AS is_large_order_flag -- 添加商務邏輯標誌
      FROM (
          SELECT
              *,
              ROW_NUMBER() OVER(PARTITION BY buyer_id, item_id, gmt_create ORDER BY id DESC) AS rn -- 用於去重的行號
          FROM ods_trade_order
          WHERE pt = '${bizdate}'
      ) AS sub_query
      WHERE rn = 1 -- 僅保留每個去重組的第一條記錄
      GROUP BY 
          gmt_create,
          gmt_modified,
          sub_order_id,
          parent_order_id,
          buyer_id,
          buyer_nick,
          item_id,
          item_price,
          buy_amount,
          biz_type,
          memo,
          pay_status,
          logistics_status,
          status,
          seller_memo,
          buyer_memo,
          clean_ip,
          end_time,
          pay_time,
          is_sub,
          is_parent,
          shop_id,
          total_fee,
          is_large_order_flag;
    2. 單擊ODPS SQL配置視窗頂部的儲存image),然後單擊帶參運行image)。

  3. 建立dws_daily_category_sales節點。

    基於dwd_trade_order表和dim_item_info表,對DWD層經過清洗和標準化的詳細資料進行匯總,產出每日商品類目銷售匯總表dws_daily_category_sales

    操作步驟

    1. 右鍵Workflow,選擇建立節點 > MaxCompute > ODPS SQL,在建立節點頁面,設定名稱dws_daily_category_sales後,單擊確認,配置如下SQL。

      CREATE TABLE IF NOT EXISTS dws_daily_category_sales (
          cate_id             BIGINT COMMENT '商品葉子類目ID',
          cate_name           STRING COMMENT '商品葉子類目名稱',
          total_sales_amount  DECIMAL(38,18) COMMENT '商品類目總銷售額,單位分',
          order_count         BIGINT COMMENT '訂單數量'
      )
      COMMENT '每日商品類目銷售匯總表'
      PARTITIONED BY (pt STRING COMMENT '業務日期, yyyymmdd')
      LIFECYCLE 365;
      
      
      INSERT OVERWRITE TABLE dws_daily_category_sales PARTITION(pt='${bizdate}')
      SELECT
          i.cate_id,
          i.cate_name,
          SUM(t.total_fee) AS total_sales_amount,
          COUNT(DISTINCT t.id) AS order_count
      FROM dwd_trade_order t
      JOIN dim_item_info i ON t.item_id = i.item_id AND t.pt = i.pt
      WHERE t.pt = '${bizdate}'
      GROUP BY t.pt, i.cate_id, i.cate_name;
    2. 單擊ODPS SQL配置視窗頂部的儲存image),然後單擊帶參運行image)。

  4. 建立ads_top_selling_categories節點。

    基於dws_daily_category_sales表,產出每日最暢銷商品類目排名表ads_top_selling_categories

    操作步驟

    1. 右鍵Workflow,選擇建立節點 > MaxCompute > ODPS SQL,在建立節點頁面,設定名稱ads_top_selling_categories後,單擊確認,配置如下SQL。

      CREATE TABLE IF NOT EXISTS ads_top_selling_categories (
          rank                BIGINT COMMENT '銷量排名',
          cate_id             BIGINT COMMENT '商品葉子類目ID',
          cate_name           STRING COMMENT '商品葉子類目名稱',
          total_sales_amount  DECIMAL(38,18) COMMENT '商品類目總銷售額,單位分',
          order_count         BIGINT COMMENT '訂單數量'
      )
      COMMENT '每日最暢銷商品類目排名表'
      PARTITIONED BY (pt STRING COMMENT '業務日期, yyyymmdd');
      
      
      INSERT OVERWRITE TABLE ads_top_selling_categories PARTITION(pt='${bizdate}')
      SELECT
          rank,
          cate_id,
          cate_name,
          total_sales_amount,
          order_count
      FROM (
          SELECT
              DENSE_RANK() OVER(ORDER BY total_sales_amount DESC) AS rank,
              cate_id,
              cate_name,
              total_sales_amount,
              order_count
          FROM (
              SELECT
                  cate_id,
                  cate_name,
                  SUM(total_sales_amount) AS total_sales_amount,
                  SUM(order_count) AS order_count
              FROM dws_daily_category_sales
              WHERE pt = '${bizdate}'
              GROUP BY cate_id, cate_name
          ) agg_sub
      ) agg_outer
      WHERE rank <= 10;
    2. 單擊ODPS SQL配置視窗頂部的儲存image),然後單擊帶參運行image)。

步驟三:資料展示

您已經將從MySQL中擷取的原始測試資料,經過資料開發處理,匯總於表ads_top_selling_categories中,現在可查詢表資料,查看資料分析後的結果。

  1. 單擊左上方image表徵圖,在彈出頁面中單擊全部產品 > 資料分析 > SQL查詢

  2. 在我的檔案後單擊image > 建立檔案,自訂檔案名稱後單擊確定

    image

  3. 在SQL查詢頁面,配置如下SQL。

    SELECT * FROM ads_top_selling_categories WHERE pt=${bizdate};
  4. 單擊頂部的運行(image),根據頁面提示,在右上方選擇MaxCompute資料來源後單擊確定,然後在成本預估頁面,單擊運行

  5. 在查詢結果中單擊image,查看可視化圖表結果,您可以單擊圖表右上方的image自訂圖表樣式。

    image

  6. 您也可以單擊圖表右上方儲存,將圖表儲存為卡片,然後在左側導覽列單擊卡片image)查看。

    image

步驟四:周期性調度

通過完成前文操作步驟,您已經擷取了前一天各類商品的銷售資料,但是,如果需要每天擷取最新的銷售資料,則可以為資料開發中各任務節點配置周期任務,使其周期性定時執行。

說明

為簡化操作,快速入門教程以可視化方式為商務程序配置調度,DataWorks還支援手動精細化配置,各任務節點支援根據SQL自動解析上下遊依賴,調度配置的更多資訊,請參見任務調度配置

  1. 單擊左上方image表徵圖,在彈出頁面中單擊全部產品 > 資料開發與營運 > DataStudio(資料開發)

  2. 按右鍵商務程序Workflow,單擊看板進入畫布,在畫布中移動各節點位置並按下圖拖拽出各節點的上下遊依賴關係。

    image

  3. 單擊右側流程參數,配置參數名稱bizdate參數值或運算式$bizdate,單擊儲存

    image

  4. 雙擊虛擬節點(Workshop),配置如下周期調度參數後,單擊頂部的儲存image)。

    說明

    其他參數保持預設即可。

    image

  5. 切換至Workflow商務程序頁簽,單擊頂部的運行確認運行商務程序,參數bizdate填寫為前一天(例如今天為20240731,則此處填寫為20240730),單擊確定測試所有流程是否均能成功運行。

    image

  6. 所有節點均能成功運行後,點擊頂部的提交,將流程中所有節點提交至營運中心。

    image

  7. 單擊左上方image表徵圖,在彈出頁面單擊全部產品 > 資料開發與營運 > 營運中心(工作流程)

  8. 周期任務營運 > 周期任務中即可看到已建立的周期任務。

    說明

    如需展示如下圖的所有上下遊依賴節點,請按右鍵Workshop節點,選擇展開子節點 > 四層

    image

下一步

附錄:資源釋放與清理

如果您需要釋放本次教程所建立的資源,具體操作步驟如下:

  1. 停止周期任務。

    1. 進入營運中心頁面。

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

    2. 周期任務營運 > 周期任務中,勾選所有之前建立的周期任務,然後在底部單擊操作 > 終止運行

  2. 刪除資料開發節點並解除綁定MaxCompute資料來源。

    1. 進入資料開發頁面。

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

    2. 商務程序 > Workflow中,找到已建立的離線同步節點和ODPS SQL節點,右鍵選擇刪除

    3. 在左側導覽列,單擊資料來源,找到已綁定的MaxCompute資料來源,單擊解除綁定。在確認視窗中勾選選項後單擊解除綁定

  3. 刪除資料來源。

    1. 進入管理中心頁面。

      登入DataWorks控制台,切換至目標地區後,單擊左側導覽列的更多 > 管理中心,在下拉框中選擇對應工作空間後單擊進入管理中心

    2. 在左側導覽列單擊資料來源 > 資料來源列表,找到已建立的MySQL資料來源和MaxCompute資料來源,單擊操作列的刪除。在刪除視窗中單擊繼續

  4. 刪除MaxCompute專案。

    登入MaxCompute管理主控台,找到已建立的MaxCompute專案,單擊操作列的刪除,在確認視窗中勾選選項後單擊確定

  5. 刪除公網NAT Gateway並釋放Elastic IP Address。

    1. 登入專用網路-公網NAT Gateway控制台,在頂部功能表列切換至華東2(上海)地區。

    2. 找到已建立的公網NAT Gateway,單擊操作列的image > 刪除,在確認視窗中,勾選強制移除,然後單擊確定

    3. 在左側導覽列單擊公網訪問 > Elastic IP Address,找到已建立的Elastic IP Address,單擊操作列中image > 執行個體管理 > 釋放,在確認視窗中單擊確定