本文介紹基于數據開發功能,快速實現常見的報表分析訴求的操作步驟。

背景信息

說明 如下最佳實踐基于數倉開發(老)功能進行操作,但該功能已下線,不適用新版數倉開發功能。詳細信息,請參見 【通知】下線任務編排(老)和數倉開發(老)功能

逐步成長的企業,離不開報表的需求,常見的報表場景有:

  • 向老板匯報業務的運營狀況、業績。
  • 數據分析師按不同維度分析業務場景,挖掘業務的增長點。
  • 業務系統統計業務的匯總情況,如電商系統統計每日營收額,物流系統統計每日運單量等。

目前,經過多年的“大數據”洗腦,以上的需求往往被分發到大數據平臺上做處理。但是如今,利用DMS中的數倉開發一樣可以完成。

功能優勢

使用DMS中的 數倉開發做報表開發有如下優勢:
  • 線上線下統一管理。即業務庫和分析庫都在DMS中管理,無需另外跳轉到大數據平臺。
  • 靈活切換分析引擎。根據不同的業務數據規模,自由選擇DMS支持的數據庫作為分析庫,從小規模GB級的RDS到大規模PB級的ADB足以滿足大部分場景的分析。
  • 權限統一、數據安全。

準備工作

  • 準備分析的業務庫(這里采用TPCH的樣例數據舉例)。
  • 通過權限申請模塊,申請業務庫的導出權限、分析庫(這里采用RDS)的變更權限,字典信息需要查詢權限。
  • 創建任務流tpch_report。

步驟一:同步業務庫的表到分析庫

以使用跨庫Spark SQL任務實現同步業務庫的表到分析庫操作舉例。跨庫的更多信息,請參見跨庫查詢

創建跨庫Spark SQL任務

  1. 登錄數據管理DMS 5.0
  2. 在頂部菜單欄中,選擇集成與開發(DTS) > 數據開發 > 數倉開發(老)
  3. 在數倉開發首頁選擇目標項目空間,單擊進入空間
    說明 若您還未創建項目空間,請創建 數倉項目后再進行之后的操作。
  4. 創建跨庫Spark SQL任務。
    1. 在畫布左側任務類型列表中,拖拽跨庫Spark SQL節點到畫布空白區域。
    2. 右鍵單擊跨庫Spark SQL節點,選擇重命名,修改節點名稱。
      此處修改為示例名稱table_sync。
      說明 單擊畫布空白區域,名稱即可保存。
      創節點
  5. 通過跨庫Spark SQL拷貝數據。
    1. 雙擊table_sync節點。
    2. 選擇引用的數據庫,編寫SQL語句。
      拷貝SQL
  6. 設置變量。
    1. 單擊節點配置頁面右側的變量設置
    2. 選擇任務流常量頁簽,配置變量名變量規則
      設置變量
  7. 單擊頁面上方的預覽,查看替換變量后的SQL邏輯是否正確。
    替換后的SQl

步驟二:在分析庫做統計分析

統計每日訂單的下單客戶數、訂單數、訂單總額。

  1. 創建單實例SQL任務。
    1. 在畫布左側任務類型列表中,拖拽單實例SQL到畫布空白區域。
    2. 右鍵單擊單實例SQL,選擇重命名,修改節點名稱。
      此處修改的示例名稱為daily_orders。 danshiliSQl
  2. 選擇分析庫,創建統計表daily_orders_summary,編寫統計邏輯SQL。
    說明 編輯完成,系統自動保存。
    單實例SQl

聯合lineitem表,統計每日訂單的配件數、優惠總額、稅總額。

步驟三:同步結果匯總表到業務庫或BI庫

使用跨庫Spark SQL任務的操作步驟,可參見步驟一:同步業務庫的表到分析庫

設置DAG圖中的任務關系

將任務節點連接起來。

設置關系

調度配置

  1. 在任務編輯頁面下方,單擊任務流信息
  2. 調度配置區域,打開開啟調度開關,配置調度類型生效時間等信息。
    peizhidiaodu

運行任務流并查看執行狀態

運行任務流

在畫布頁面,單擊上方的 試運行,即可運行任務流,測試任務的正確性。
  • 如果執行日志的最后一行出現status SUCCEEDED,表明任務試運行成功。
  • 如果執行日志的最后一行出現status FAILED,表明任務試運行失敗,在執行日志中查看執行失敗的節點和原因,修改配置后重新嘗試。

查看任務的執行狀態

單擊畫布右上方前往運維,在任務流運維頁面查看。

  • 在任務流運維頁面上方,查看任務流的創建時間修改時間調度配置情況等基本信息。
  • 單擊運行記錄頁簽,選擇調度觸發手動觸發,查看任務流運行記錄。
    說明
    • 調度觸發:通過調度或指定時間的方式運行任務流。
    • 手動觸發:通過手動單擊試運行的方式運行任務流。
    • 單擊狀態列前的加,查看任務流運行日志。
    • 操作列中,單擊執行歷史,查看任務流的操作時間操作人員操作內容
    • 操作列中,對不同執行狀態的任務流進行終止重跑暫停恢復置成功的操作。
      說明
      • 對于執行成功的任務流,可以進行重跑操作。
      • 對于執行失敗的任務流,可以將該任務流運行記錄的狀態置為成功。
      • 對于執行中的任務流,可以終止或暫停任務流運行。
  • 單擊發布列表頁簽,查看任務流的版本ID發布人發布時間等信息。