全部產品
Search
文件中心

Platform For AI:時間視窗SQL指令碼

更新時間:Jul 13, 2024

在普通的SQL組件基礎上增加了多日期迴圈執行功能,用於並存執行某段時間內天層級SQL任務。例如在推薦情境中,並存執行過去7天的行為資料特徵提取SQL補資料任務。

使用限制

  • 僅支援天層級的補資料迴圈。

  • 在使用時按照需要開啟或關閉多日期迴圈執行開關,在整個工作流程發布至周期性調度之前切記關閉多日期迴圈執行開關,避免生產環境下產生不需要的重複執行補資料任務。

  • 節點上配置的並發數僅能控制當前節點的並發,如果有多個節點都需要補資料,需要您自己統一考慮當前專案資源支援的總並發數。

輸入輸出使用說明

時間視窗SQL指令碼組件支援0~4個輸入,1個輸出,具體使用說明如下。

  • 如果時間視窗SQL指令碼組件接入了上遊表,輸入源已自動對應成t1~t4,您可以直接調用${t1}${t2}${t3}${t4},不用寫入源表名。

  • 時間視窗SQL指令碼組件支援1個輸出,您可以在SQL語句中使用${o1}代替輸出資料表。

  • 您可以在SQL語句中,使用${lifecycle}參數自動擷取當前工作空間設定的暫存資料表生命週期,預設為28天。更多關於工作空間暫存資料表生命週期的內容,請參見管理工作空間

  • 如果您在可視化參數配置中選中了是否由系統添加Create Table語句複選框,SQL指令碼的中間位置可以配置任意的SQL語句,但是最後一句必須為Select語句。PAI會自動建立一個暫存資料表,用來儲存Select語句查詢的結果。如果您在SQL語句中自行建立了資料表,請按需設定暫存資料表的生命週期,詳情請參見管理工作空間

可視化配置組件參數

Designer僅支援通過可視化方式,配置該組件參數,參數詳情如下表所示。

參數

描述

業務基準日期

支援以下兩種配置方式:

是否開啟多日期迴圈執行

預設開啟多日期迴圈執行。如果不開啟多日期迴圈執行,則該組件退化為普通的SQL指令碼組件。

執行時間視窗

支援配置整數和開閉區間,多個區間使用半形逗號(,)分隔。

配置後會從業務基準日期計算出每個視窗對應的日期段,總計啟動N個子任務,且N不超過100。

例如:配置(-4,-2],0,結合業務基準日期樣本,代表需要執行20230207、20230208、20230210三天的任務。

最大並發數

避免一次性提交大量並發任務打滿資源。

日期格式

支援配置以下三種時間格式,用於產生${pai.system.cycledate}系統變數。

  • yyyyMMdd(預設值)

  • yyyy-MM-dd

  • yyyy/MM/dd

例如:選擇yyyy-MM-dd,則在樣本SQL指令碼中替換${pai.system.cycledate}時,會將20230210替換為2023-02-10。

是否由系統添加Create Table語句

  • 選中該複選框,則SQL指令碼的最後一行SQL語句必須為Select語句,PAI會自動建立一個暫存資料表,用來儲存Select語句查詢的結果。

  • 不選中該複選框,您需要自己在SQL語句中建立資料表${o1},作為向下遊傳遞的資料表。

SQL指令碼

如果開啟了多日期迴圈執行,切記在需要迴圈的日期欄位處,引用系統變數${pai.system.cycledate}。

例如:select * from ${t1} where dt=${pai.system.cycledate},則在實際執行時,按照當前樣本中的配置會並行啟動3個任務:

  • select * from ${t1} where dt=2022-02-07

  • select * from ${t1} where dt=2022-02-08

  • select * from ${t1} where dt=2022-02-10

其他功能同普通SQL指令碼組件。