日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

DataWorks快速入門

DataWorks基于MaxCompute、Hologres、EMR、AnalyticDB、CDP等大數(shù)據(jù)引擎,為數(shù)據(jù)倉庫、數(shù)據(jù)湖、湖倉一體等解決方案提供統(tǒng)一的全鏈路大數(shù)據(jù)開發(fā)治理平臺。本文以DataWorks的部分核心功能為例,指導(dǎo)您使用DataWorks接入數(shù)據(jù)并進行業(yè)務(wù)處理、周期調(diào)度以及數(shù)據(jù)可視化。

入門簡介

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

  1. 數(shù)據(jù)同步:通過DataWorks的數(shù)據(jù)集成模塊,創(chuàng)建離線同步任務(wù),將業(yè)務(wù)數(shù)據(jù)同步至大數(shù)據(jù)計算平臺(如MaxCompute數(shù)倉)。

  2. 數(shù)據(jù)清洗:在DataWorks的數(shù)據(jù)開發(fā)模塊中,對業(yè)務(wù)數(shù)據(jù)進行處理、分析和挖掘。

  3. 數(shù)據(jù)展示:在DataWorks的數(shù)據(jù)分析模塊中,將分析結(jié)果轉(zhuǎn)化為圖表,便于業(yè)務(wù)人員理解。

  4. 周期性調(diào)度:為數(shù)據(jù)同步和數(shù)據(jù)清洗流程配置周期性調(diào)度,使其定時執(zhí)行。

image

前提條件

為確保本教程可以順利進行,推薦使用阿里云主賬號或具備AliyunDataWorksFullAccess權(quán)限的RAM用戶。具體操作,請參見準(zhǔn)備阿里云賬號(主賬號)準(zhǔn)備RAM用戶(子賬號)。

說明

DataWorks提供了完善的權(quán)限管控機制,支持在產(chǎn)品級與模塊級對權(quán)限進行管控,如果您需要更精細的權(quán)限控制,請參見DataWorks權(quán)限體系功能概述。

準(zhǔn)備工作

  1. 創(chuàng)建工作空間并綁定資源組。

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

    說明

    本教程以華東2(上海)為例,在實際使用中,請根據(jù)實際業(yè)務(wù)數(shù)據(jù)所在位置確定開通地域:

    • 如果您的業(yè)務(wù)數(shù)據(jù)位于阿里云的其他云服務(wù),請選擇與其相同的地域。

    • 如果您的業(yè)務(wù)在本地,需要通過公網(wǎng)訪問,請選擇與您實際地理位置較近的地域,以降低訪問延遲。

    • 如果未開通,單擊0元組合購買,通過組合購買,一站式完成DataWorks開通、默認空間創(chuàng)建以及資源組綁定。

      新開通DataWorks步驟

      1. 配置組合購買頁相關(guān)參數(shù)。

        參數(shù)

        說明

        示例

        地域

        選擇需要開通DataWorks的地域。

        華東2(上海)

        DataWorks

        選擇需要購買的DataWorks版本。

        說明

        本教程以基礎(chǔ)版為例,所有版本均可體驗本教程所涉及的功能,您可以參考DataWorks各版本支持的功能詳情,根據(jù)實際業(yè)務(wù)需要,選擇合適的DataWorks版本。

        基礎(chǔ)版

        DataWorks資源組

        通過DataWorks進行數(shù)據(jù)集成、數(shù)據(jù)開發(fā)、數(shù)據(jù)調(diào)度等任務(wù)時,需要消耗計算資源,您需要配套購買資源組,以確保后續(xù)任務(wù)的順利運行。

        • 付費模式:按量付費

        • 資源組名稱:自定義

        • 專有網(wǎng)絡(luò)(VPC)、交換機(V-Switch):選擇已有的VPC和交換機。

          說明

          如當(dāng)前地域沒有可用的VPC和交換機,請單擊參數(shù)說明中對應(yīng)的控制臺鏈接前往創(chuàng)建。VPC和交換機的更多信息,請參見什么是專有網(wǎng)絡(luò)。

        • 服務(wù)關(guān)聯(lián)角色:根據(jù)頁面提示,創(chuàng)建服務(wù)關(guān)聯(lián)角色。

      2. 勾選服務(wù)協(xié)議后,單擊確認訂單并支付,完成后續(xù)支付。

        說明

        完成購買后,系統(tǒng)將自動創(chuàng)建工作空間和資源組,并將資源組綁定至工作空間。

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

        image

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

      手動創(chuàng)建工作空間、資源組及資源組綁定操作

      1. 創(chuàng)建工作空間。

        1. 單擊DataWorks管理控制臺左側(cè)導(dǎo)航欄的工作空間,進入工作空間列表頁面,然后單擊創(chuàng)建工作空間

        2. 在創(chuàng)建工作空間頁面,自定義工作空間名稱,然后單擊創(chuàng)建工作空間。

      2. 創(chuàng)建資源組。

        1. 單擊DataWorks管理控制臺左側(cè)導(dǎo)航欄的資源組,進入資源組列表,然后單擊新建資源組

        2. DataWorks通用資源組(按量付費)頁面,配置如下參數(shù)。

          參數(shù)

          說明

          資源組名稱

          自定義。

          專有網(wǎng)絡(luò)(VPC)交換機(V-Switch)

          選擇已有的VPC和交換機,如當(dāng)前地域沒有,請單擊參數(shù)說明中對應(yīng)的控制臺鏈接前往創(chuàng)建。

          服務(wù)關(guān)聯(lián)角色

          根據(jù)頁面提示,創(chuàng)建DataWorks服務(wù)關(guān)聯(lián)角色

        3. 單擊立即購買,完成后續(xù)支付。

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

        1. 單擊DataWorks管理控制臺左側(cè)導(dǎo)航欄的資源組,進入資源組列表頁面,找到已創(chuàng)建的資源組,單擊操作列的綁定工作空間

        2. 綁定工作空間頁面,找到已創(chuàng)建的DataWorks工作空間,單擊其操作列的綁定

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

    本教程使用的電商平臺公開測試業(yè)務(wù)數(shù)據(jù)需要通過公網(wǎng)獲取,而上一步創(chuàng)建的通用型資源組默認不具備公網(wǎng)訪問能力,需要為資源組綁定的VPC配置公網(wǎng)NAT網(wǎng)關(guān),添加EIP,使其與公開數(shù)據(jù)網(wǎng)絡(luò)打通,從而獲取數(shù)據(jù)。

    配置步驟

    1. 登錄專有網(wǎng)絡(luò)-公網(wǎng)NAT網(wǎng)關(guān)控制臺,在頂部菜單欄切換至華東2(上海)地域。

    2. 單擊創(chuàng)建公網(wǎng)NAT網(wǎng)關(guān)。配置相關(guān)參數(shù)。

      參數(shù)

      取值

      所屬地域

      華東2(上海)。

      所屬專有網(wǎng)絡(luò)

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

      您可以前往DataWorks管理控制臺,切換地域后,在左側(cè)導(dǎo)航欄單擊資源組列表,找到已創(chuàng)建的資源組,然后單擊操作列的網(wǎng)絡(luò)設(shè)置,在數(shù)據(jù)調(diào)度 & 數(shù)據(jù)集成區(qū)域查看綁定專有網(wǎng)絡(luò)交換機。VPC和交換機的更多信息,請參見什么是專有網(wǎng)絡(luò)。

      關(guān)聯(lián)交換機

      訪問模式

      VPC全通模式(SNAT)。

      彈性公網(wǎng)IP實例

      新購彈性公網(wǎng)IP。

      關(guān)聯(lián)角色創(chuàng)建

      首次創(chuàng)建NAT網(wǎng)關(guān)時,需要創(chuàng)建服務(wù)關(guān)聯(lián)角色,請單擊創(chuàng)建關(guān)聯(lián)角色。

      說明

      上表中未說明的參數(shù)保持默認值即可。

    3. 單擊立即購買,勾選服務(wù)協(xié)議后,單擊立即開通,完成購買。

      image

操作步驟

本文以如下場景為例,指導(dǎo)您快速體驗DataWorks的相關(guān)功能:

假設(shè)某一電商平臺將商品信息、訂單信息存儲在MySQL數(shù)據(jù)庫中,需要定期對訂單數(shù)據(jù)進行分析,通過可視化的方式查看每日最暢銷商品類目排名表。

步驟一:數(shù)據(jù)同步

  1. 創(chuàng)建數(shù)據(jù)源。

    DataWorks通過創(chuàng)建數(shù)據(jù)源的方式,接入數(shù)據(jù)來源和數(shù)據(jù)去向,因此,本步驟需要分別創(chuàng)建MySQL和MaxCompute兩個數(shù)據(jù)源。

    • MySQL數(shù)據(jù)源,用于連接數(shù)據(jù)來源(存儲業(yè)務(wù)數(shù)據(jù)的MySQL數(shù)據(jù)庫),為本教程提供原始業(yè)務(wù)數(shù)據(jù)。

      說明

      您無需準(zhǔn)備本教程使用的原始業(yè)務(wù)數(shù)據(jù),為方便測試和學(xué)習(xí),DataWorks為您提供測試數(shù)據(jù)集,相關(guān)表數(shù)據(jù)已存儲在公網(wǎng)MySQL數(shù)據(jù)庫中,您只需創(chuàng)建MySQL數(shù)據(jù)源接入即可。

      創(chuàng)建MySQL數(shù)據(jù)源步驟

      1. 進入管理中心頁面。

        登錄DataWorks控制臺,切換至目標(biāo)地域后,單擊左側(cè)導(dǎo)航欄的更多 > 管理中心,在下拉框中選擇對應(yīng)工作空間后單擊進入管理中心。

      2. 在左側(cè)導(dǎo)航欄單擊數(shù)據(jù)源 > 數(shù)據(jù)源列表,然后單擊新增數(shù)據(jù)源,選擇數(shù)據(jù)源類型為MySQL數(shù)據(jù)源。

      3. 配置MySQL數(shù)據(jù)源相關(guān)參數(shù)。

        說明
        • 表中未說明的參數(shù)保持默認值即可。

        • 首次新增數(shù)據(jù)源時,需要完成跨服務(wù)授權(quán),請根據(jù)頁面提示,授權(quán)服務(wù)關(guān)聯(lián)角色AliyunDIDefaultRole

        參數(shù)

        描述

        數(shù)據(jù)源名稱

        本示例為MySQL_Source

        配置模式

        選擇連接串模式

        連接地址

        單擊新增地址。

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

        • 端口號:3306。

        重要

        本教程提供的數(shù)據(jù)僅作為阿里云大數(shù)據(jù)開發(fā)治理平臺 DataWorks數(shù)據(jù)應(yīng)用實操使用,所有數(shù)據(jù)均為測試數(shù)據(jù),并且僅支持在數(shù)據(jù)集成模塊讀取數(shù)據(jù)。

        數(shù)據(jù)庫名稱

        配置為retail_e_commerce

        用戶名

        輸入用戶名workshop。

        密碼

        輸入密碼workshop#2017

      4. 連接配置區(qū)域,找到工作空間已綁定的資源組,單擊連通狀態(tài)列的測試連通性。

        說明

        如果MySQL數(shù)據(jù)源連通性測試失敗,請檢查是否為資源組綁定的VPC配置EIP,MySQL數(shù)據(jù)源需要資源組具備公網(wǎng)訪問能力。

      5. 單擊完成創(chuàng)建。

    • MaxCompute數(shù)據(jù)源,用于連接數(shù)據(jù)去向(MaxCompute數(shù)倉),將MaxCompute數(shù)據(jù)源綁定至數(shù)據(jù)開發(fā)后,能夠為本教程提供數(shù)據(jù)存儲和計算能力。

      • 如果您的項目空間中存在已添加的MaxCompute數(shù)據(jù)源,則無需進行此步驟

      • 如果您的項目空間中沒有添加MaxCompute數(shù)據(jù)源,在參考如下步驟創(chuàng)建。

        創(chuàng)建MaxCompute數(shù)據(jù)源步驟

        1. 管理中心左側(cè)導(dǎo)航欄單擊數(shù)據(jù)源 > 數(shù)據(jù)源列表,然后單擊新增數(shù)據(jù)源,選擇數(shù)據(jù)源類型為MaxCompute數(shù)據(jù)源。

        2. 配置MaxCompute數(shù)據(jù)源相關(guān)參數(shù)。

          說明

          表中未說明的參數(shù)保持默認值即可。

          參數(shù)

          描述

          數(shù)據(jù)源名稱

          本示例為MaxCompute_Source

          地域

          選擇MaxCompute數(shù)據(jù)源所在地域。

          MaxCompute項目名稱

          選擇創(chuàng)建MaxCompute項目

          計算資源付費類型

          選擇按量付費。

          說明

          如果按量付費不可選,請單擊按量付費后的去開通,完成MaxCompute服務(wù)的開通。

          默認Quota

          下拉選擇默認已存在的Quota。

          默認訪問身份

          阿里云主賬號。

        3. 連接配置區(qū)域,找到工作空間已綁定的資源組,單擊連通狀態(tài)列的測試連通性。

          說明

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

        4. 單擊完成創(chuàng)建。

  2. 數(shù)據(jù)開發(fā)綁定MaxCompute數(shù)據(jù)源。

    需要先將MaxCompute數(shù)據(jù)源綁定至數(shù)據(jù)開發(fā),后續(xù)才能在數(shù)據(jù)開發(fā)模塊中對MaxCompute的數(shù)據(jù)進行處理。

    1. 單擊左上角image圖標(biāo),在彈出頁面中單擊全部產(chǎn)品 > 數(shù)據(jù)開發(fā)與運維 > DataStudio(數(shù)據(jù)開發(fā))。

    2. 在左側(cè)導(dǎo)航欄單擊數(shù)據(jù)源image),找到已創(chuàng)建的MaxCompute數(shù)據(jù)源,單擊綁定。

      說明

      如果您的數(shù)據(jù)開發(fā)模塊已綁定了MaxCompute數(shù)據(jù)源,則無需進行此步驟。

      image

  3. 創(chuàng)建虛擬節(jié)點,用于統(tǒng)籌管理整個電商平臺銷售數(shù)據(jù)分析的業(yè)務(wù)流程。該節(jié)點為空跑任務(wù),無須編輯代碼。

    在左側(cè)導(dǎo)航欄單擊image圖標(biāo),進入數(shù)據(jù)開發(fā)頁面,找到業(yè)務(wù)流程 > Workflow,然后右鍵Workflow,選擇新建節(jié)點 > 通用 > 虛擬節(jié)點,自定義節(jié)點名稱,本教程以Workshop為例。

  4. 創(chuàng)建離線同步任務(wù)。

    本教程使用的測試數(shù)據(jù)涉及兩張表(商品信息源表item_info和訂單信息源表trade_order),這兩張表存儲于MySQL數(shù)據(jù)源關(guān)聯(lián)的MySQL數(shù)據(jù)庫中,本步驟需要分別創(chuàng)建兩個離線同步節(jié)點(節(jié)點名稱以ods_item_infoods_trade_order為例),用于將item_info表和trade_order表同步至MaxCompute數(shù)據(jù)源關(guān)聯(lián)的MaxCompute數(shù)倉中,然后再進行后續(xù)數(shù)據(jù)開發(fā)。

    1. 創(chuàng)建ods_item_info離線同步節(jié)點

      1. 右鍵Workflow,選擇新建節(jié)點 > 數(shù)據(jù)集成 > 離線同步。

      2. 新建節(jié)點頁面,設(shè)置名稱ods_item_info

      3. 配置數(shù)據(jù)來源為已創(chuàng)建的MySQL數(shù)據(jù)源,數(shù)據(jù)去向為已綁定至數(shù)據(jù)開發(fā)的MaxCompute數(shù)據(jù)源,中間的資源組選擇工作空間已綁定的資源組,然后測試連通性都為可連通后,單擊下一步

        image

      4. 配置數(shù)據(jù)來源數(shù)據(jù)去向的相關(guān)參數(shù)。

        說明

        表中未說明的參數(shù)保持默認值即可。

        配置區(qū)域

        參數(shù)

        ods_item_info離線同步節(jié)點取值

        數(shù)據(jù)來源

        item_info

        數(shù)據(jù)去向

        單擊一鍵生成目標(biāo)表結(jié)構(gòu),在新建表窗口中,修改建表語句,將表名修改為ods_item_info,然后單擊新建表。

        通道控制

        臟數(shù)據(jù)策略

        配置為不容忍臟數(shù)據(jù)。

      5. 單擊離線同步任務(wù)配置窗口頂部的保存image),然后單擊帶參運行image)。

        重要

        在離線計算場景下,bizdate為業(yè)務(wù)交易發(fā)生的日期,也常被稱為業(yè)務(wù)日期(business date)。例如,今天統(tǒng)計前一天的營業(yè)額,此處的前一天,指交易發(fā)生的日期,也就是業(yè)務(wù)日期。帶參運行時,自定義參數(shù)取值保持默認(當(dāng)前時間的前一天)即可。

        如果您在此時修改了bizdate取值,請在后續(xù)本文所有節(jié)點涉及帶參運行時,同步修改bizdate取值。

    2. 創(chuàng)建ods_trade_order離線同步節(jié)點

      1. 右鍵Workflow,選擇新建節(jié)點 > 數(shù)據(jù)集成 > 離線同步。

      2. 新建節(jié)點頁面,設(shè)置名稱ods_trade_order。

      3. 配置數(shù)據(jù)來源為已創(chuàng)建的MySQL數(shù)據(jù)源,數(shù)據(jù)去向為已綁定至數(shù)據(jù)開發(fā)的MaxCompute數(shù)據(jù)源,中間的資源組選擇工作空間已綁定的資源組,然后測試連通性都為可連通后,單擊下一步

      4. 配置數(shù)據(jù)來源數(shù)據(jù)去向的相關(guān)參數(shù)。

        說明

        表中未說明的參數(shù)保持默認值即可。

        配置區(qū)域

        參數(shù)

        ods_trade_order離線同步節(jié)點取值

        數(shù)據(jù)來源

        trade_order

        數(shù)據(jù)去向

        單擊一鍵生成目標(biāo)表結(jié)構(gòu),在新建表窗口中,修改建表語句,將表名修改為ods_trade_order,然后單擊新建表

        通道控制

        臟數(shù)據(jù)策略

        配置為不容忍臟數(shù)據(jù)

      5. 單擊離線同步任務(wù)配置窗口頂部的保存image),然后單擊帶參運行image)。

步驟二:數(shù)據(jù)清洗

數(shù)據(jù)已從MySQL同步至MaxCompute后,獲得兩張數(shù)據(jù)表(商品信息表ods_item_info和訂單信息表ods_trade_order),您可以在DataWorks的數(shù)據(jù)開發(fā)模塊對表中數(shù)據(jù)進行清洗、處理和分析,從而獲取每日最暢銷商品類目排名表。

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

  • DataWorks提供調(diào)度參數(shù),可實現(xiàn)代碼動態(tài)入?yún)?,您可在SQL代碼中通過${變量名}的方式定義代碼中的變量,并在調(diào)度配置 > 調(diào)度參數(shù)處,為該變量賦值。調(diào)度參數(shù)支持的格式,詳情請參見調(diào)度參數(shù)支持的格式。本示例SQL中使用了調(diào)度參數(shù)${bizdate},表示業(yè)務(wù)日期為前一天。

  1. 創(chuàng)建dim_item_info節(jié)點。

    基于ods_item_info表,處理商品維度數(shù)據(jù),產(chǎn)出商品基礎(chǔ)信息維度表dim_item_info

    操作步驟

    1. 右鍵Workflow,選擇新建節(jié)點 > MaxCompute > ODPS SQL,在新建節(jié)點頁面,設(shè)置名稱dim_item_info后,單擊確認,配置如下SQL。

      CREATE TABLE IF NOT EXISTS dim_item_info (
          gmt_modified                   STRING COMMENT '商品最后修改日期',
          gmt_create                     STRING COMMENT '商品創(chuàng)建時間',
          item_id                        BIGINT COMMENT '商品數(shù)字ID',
          title                          STRING COMMENT '商品標(biāo)題',
          sub_title                      STRING COMMENT '商品子標(biāo)題',
          pict_url                       STRING COMMENT '主圖URL',
          desc_path                      STRING COMMENT '商品描述的路徑',
          item_status                    BIGINT COMMENT '商品狀態(tài)1:確認通過0:未確認通過',
          last_online_time               DATETIME COMMENT '最近一次開始銷售時間,商品上架時間',
          last_offline_time              DATETIME COMMENT '銷售結(jié)束時間,表示一個銷售周期的結(jié)束,僅作用于拍賣商品',
          duration                       BIGINT COMMENT '有效期,銷售周期,只有兩個值,7天或14天',
          reserve_price                  DOUBLE COMMENT '當(dāng)前價格',
          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 '商品最近一次上架時的庫存數(shù)量',
          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 '商品基礎(chǔ)信息維度表'
      PARTITIONED BY (pt STRING COMMENT '業(yè)務(wù)日期, yyyymmdd')
      LIFECYCLE 365;
      
      
      -- 插入數(shù)據(jù)到 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. 創(chuàng)建dwd_trade_order節(jié)點。

    基于ods_trade_order表,對訂單的詳細交易數(shù)據(jù)進行初步清洗、轉(zhuǎn)換和業(yè)務(wù)邏輯處理,產(chǎn)出交易下單明細事實表dwd_trade_order。

    操作步驟

    1. 右鍵Workflow,選擇新建節(jié)點 > MaxCompute > ODPS SQL,在新建節(jié)點頁面,設(shè)置名稱dwd_trade_order后,單擊確認,配置如下SQL。

      CREATE TABLE IF NOT EXISTS dwd_trade_order (
          id               BIGINT COMMENT '主鍵,去重后的最新id',
          gmt_create       DATETIME COMMENT '創(chuàng)建時間',
          gmt_modified     DATETIME COMMENT '修改時間',
          sub_order_id     BIGINT COMMENT '子訂單ID',
          parent_order_id  BIGINT COMMENT '父訂單ID',
          buyer_id         BIGINT COMMENT '買家數(shù)字id',
          buyer_nick       STRING COMMENT '買家昵稱,處理空值',
          item_id          BIGINT COMMENT '商品數(shù)字id',
          item_price       DECIMAL(38,18) COMMENT '商品價格,單位分',
          buy_amount       BIGINT COMMENT '購買數(shù)量',
          biz_type         BIGINT COMMENT '交易類型',
          memo             STRING COMMENT '備注,處理空值',
          pay_status       BIGINT COMMENT '支付狀態(tài)',
          logistics_status BIGINT COMMENT '物流狀態(tài)',
          status           BIGINT COMMENT '狀態(tài)',
          seller_memo      STRING COMMENT '賣家的給交易的備注',
          buyer_memo       STRING COMMENT '買家給交易的備注',
          clean_ip         STRING COMMENT '清洗后的買家IP,過濾無效格式',
          end_time         DATETIME COMMENT '交易結(jié)束時間',
          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 '去除折扣和調(diào)整后的子訂單費用',
          is_large_order_flag BOOLEAN COMMENT '是否為大額訂單標(biāo)志'
      )
      COMMENT '交易下單明細事實表,包含初步清洗和業(yè)務(wù)邏輯處理'
      PARTITIONED BY (pt STRING COMMENT '業(yè)務(wù)日期, yyyymmdd')
      LIFECYCLE 365; -- 數(shù)據(jù)生命周期設(shè)置為365天
      
      
      INSERT OVERWRITE TABLE dwd_trade_order PARTITION(pt='${bizdate}')
      SELECT
          MAX(id) AS id, -- 假設(shè)使用最新的id作為去重標(biāo)準(zhǔn)
          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 -- 假設(shè)大于10000分的訂單為大額訂單
              ELSE FALSE 
          END AS is_large_order_flag -- 添加業(yè)務(wù)邏輯標(biāo)志
      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. 創(chuàng)建dws_daily_category_sales節(jié)點。

    基于dwd_trade_order表和dim_item_info表,對DWD層經(jīng)過清洗和標(biāo)準(zhǔn)化的明細數(shù)據(jù)進行匯總,產(chǎn)出每日商品類目銷售匯總表dws_daily_category_sales。

    操作步驟

    1. 右鍵Workflow,選擇新建節(jié)點 > MaxCompute > ODPS SQL,在新建節(jié)點頁面,設(shè)置名稱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 '訂單數(shù)量'
      )
      COMMENT '每日商品類目銷售匯總表'
      PARTITIONED BY (pt STRING COMMENT '業(yè)務(wù)日期, 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. 創(chuàng)建ads_top_selling_categories節(jié)點。

    基于dws_daily_category_sales表,產(chǎn)出每日最暢銷商品類目排名表ads_top_selling_categories。

    操作步驟

    1. 右鍵Workflow,選擇新建節(jié)點 > MaxCompute > ODPS SQL,在新建節(jié)點頁面,設(shè)置名稱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 '訂單數(shù)量'
      )
      COMMENT '每日最暢銷商品類目排名表'
      PARTITIONED BY (pt STRING COMMENT '業(yè)務(wù)日期, 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)。

步驟三:數(shù)據(jù)展示

您已經(jīng)將從MySQL中獲取的原始測試數(shù)據(jù),經(jīng)過數(shù)據(jù)開發(fā)處理,匯總于表ads_top_selling_categories中,現(xiàn)在可查詢表數(shù)據(jù),查看數(shù)據(jù)分析后的結(jié)果。

  1. 單擊左上角image圖標(biāo),在彈出頁面中單擊全部產(chǎn)品 > 數(shù)據(jù)分析 > SQL查詢。

  2. 在我的文件后單擊image > 新建文件,自定義文件名后單擊確定

    image

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

    SELECT * FROM ads_top_selling_categories WHERE pt=${bizdate};
  4. 單擊頂部的運行(image),根據(jù)頁面提示,在右上角選擇MaxCompute數(shù)據(jù)源后單擊確定,然后在成本預(yù)估頁面,單擊運行

  5. 在查詢結(jié)果中單擊image,查看可視化圖表結(jié)果,您可以單擊圖表右上角的image自定義圖表樣式。自定義圖表樣式的更多信息,請參見增強分析(卡片和報告)。

    image

  6. 您也可以單擊圖表右上角保存,將圖表保存為卡片,然后在左側(cè)導(dǎo)航欄單擊卡片image)查看。

    image

步驟四:周期性調(diào)度

通過完成前文操作步驟,您已經(jīng)獲取了前一天各類商品的銷售數(shù)據(jù),但是,如果需要每天獲取最新的銷售數(shù)據(jù),則可以為數(shù)據(jù)開發(fā)中各任務(wù)節(jié)點配置周期任務(wù),使其周期性定時執(zhí)行。

說明

為簡化操作,快速入門教程以可視化方式為業(yè)務(wù)流程配置調(diào)度,DataWorks還支持手動精細化配置,各任務(wù)節(jié)點支持根據(jù)SQL自動解析上下游依賴,調(diào)度配置的更多信息,請參見任務(wù)調(diào)度配置。

  1. 單擊左上角image圖標(biāo),在彈出頁面中單擊全部產(chǎn)品 > 數(shù)據(jù)開發(fā)與運維 > DataStudio(數(shù)據(jù)開發(fā))

  2. 右鍵單擊業(yè)務(wù)流程Workflow,單擊看板進入畫布,在畫布中移動各節(jié)點位置并按下圖拖拽出各節(jié)點的上下游依賴關(guān)系。

    image

  3. 單擊右側(cè)流程參數(shù),配置參數(shù)名稱bizdate,參數(shù)值或表達式$bizdate,單擊保存。

    image

  4. 雙擊虛擬節(jié)點(Workshop),配置如下周期調(diào)度參數(shù)后,單擊頂部的保存image)。

    說明

    其他參數(shù)保持默認即可。

    image

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

    image

  6. 所有節(jié)點均能成功運行后,點擊頂部的提交,將流程中所有節(jié)點提交至運維中心。

    image

  7. 單擊左上角image圖標(biāo),在彈出頁面單擊全部產(chǎn)品 > 數(shù)據(jù)開發(fā)與運維 > 運維中心(工作流)

  8. 周期任務(wù)運維 > 周期任務(wù)中即可看到已創(chuàng)建的周期任務(wù)。

    說明

    如需展示如下圖的所有上下游依賴節(jié)點,請右鍵單擊Workshop節(jié)點,選擇展開子節(jié)點 > 四層。

    image

下一步

附錄:資源釋放與清理

如果您需要釋放本次教程所創(chuàng)建的資源,具體操作步驟如下:

  1. 停止周期任務(wù)。

    1. 進入運維中心頁面。

      登錄DataWorks控制臺,切換至目標(biāo)地域后,單擊左側(cè)導(dǎo)航欄的數(shù)據(jù)開發(fā)與治理 > 運維中心,在下拉框中選擇對應(yīng)工作空間后單擊進入運維中心。

    2. 周期任務(wù)運維 > 周期任務(wù)中,勾選所有之前創(chuàng)建的周期任務(wù),然后在底部單擊操作 > 終止運行。

  2. 刪除數(shù)據(jù)開發(fā)節(jié)點并解綁MaxCompute數(shù)據(jù)源。

    1. 進入數(shù)據(jù)開發(fā)頁面。

      登錄DataWorks控制臺,切換至目標(biāo)地域后,單擊左側(cè)導(dǎo)航欄的數(shù)據(jù)開發(fā)與治理 > 數(shù)據(jù)開發(fā),在下拉框中選擇對應(yīng)工作空間后單擊進入數(shù)據(jù)開發(fā)。

    2. 業(yè)務(wù)流程 > Workflow中,找到已創(chuàng)建的離線同步節(jié)點和ODPS SQL節(jié)點,右鍵選擇刪除。

    3. 在左側(cè)導(dǎo)航欄,單擊數(shù)據(jù)源,找到已綁定的MaxCompute數(shù)據(jù)源,單擊解綁。在確認窗口中勾選選項后單擊解綁。

  3. 刪除數(shù)據(jù)源。

    1. 進入管理中心頁面。

      登錄DataWorks控制臺,切換至目標(biāo)地域后,單擊左側(cè)導(dǎo)航欄的更多 > 管理中心,在下拉框中選擇對應(yīng)工作空間后單擊進入管理中心。

    2. 在左側(cè)導(dǎo)航欄單擊數(shù)據(jù)源 > 數(shù)據(jù)源列表,找到已創(chuàng)建的MySQL數(shù)據(jù)源和MaxCompute數(shù)據(jù)源,單擊操作列的刪除。在刪除窗口中單擊繼續(xù)。

  4. 刪除MaxCompute項目。

    登錄MaxCompute管理控制臺,找到已創(chuàng)建的MaxCompute項目,單擊操作列的刪除,在確認窗口中勾選選項后單擊確定。

  5. 刪除公網(wǎng)NAT網(wǎng)關(guān)并釋放彈性公網(wǎng)IP。

    1. 登錄專有網(wǎng)絡(luò)-公網(wǎng)NAT網(wǎng)關(guān)控制臺,在頂部菜單欄切換至華東2(上海)地域。

    2. 找到已創(chuàng)建的公網(wǎng)NAT網(wǎng)關(guān),單擊操作列的image > 刪除,在確認窗口中,勾選強制刪除,然后單擊確定

    3. 在左側(cè)導(dǎo)航欄單擊公網(wǎng)訪問 > 彈性公網(wǎng)IP,找到已創(chuàng)建的彈性公網(wǎng)IP,單擊操作列中image > 實例管理 > 釋放,在確認窗口中單擊確定