時間窗口SQL腳本
在普通的SQL組件基礎(chǔ)上增加了多日期循環(huán)執(zhí)行功能,用于并行執(zhí)行某段時間內(nèi)天級別SQL任務(wù)。例如在推薦場景中,并行執(zhí)行過去7天的行為數(shù)據(jù)特征提取SQL補(bǔ)數(shù)據(jù)任務(wù)。
使用限制
僅支持天級別的補(bǔ)數(shù)據(jù)循環(huán)。
在使用時按照需要打開或關(guān)閉多日期循環(huán)執(zhí)行開關(guān),在整個工作流發(fā)布至周期性調(diào)度之前切記關(guān)閉多日期循環(huán)執(zhí)行開關(guān),避免生產(chǎn)環(huán)境下產(chǎn)生不需要的重復(fù)執(zhí)行補(bǔ)數(shù)據(jù)任務(wù)。
節(jié)點(diǎn)上配置的并發(fā)數(shù)僅能控制當(dāng)前節(jié)點(diǎn)的并發(fā),如果有多個節(jié)點(diǎn)都需要補(bǔ)數(shù)據(jù),需要您自己統(tǒng)一考慮當(dāng)前項目資源支持的總并發(fā)數(shù)。
輸入輸出使用說明
時間窗口SQL腳本組件支持0~4個輸入,1個輸出,具體使用說明如下。
如果時間窗口SQL腳本組件接入了上游表,輸入源已自動映射成t1~t4,您可以直接調(diào)用${t1}、${t2}、${t3}或${t4},不用寫入源表名。
時間窗口SQL腳本組件支持1個輸出,您可以在SQL語句中使用${o1}代替輸出數(shù)據(jù)表。
您可以在SQL語句中,使用${lifecycle}參數(shù)自動獲取當(dāng)前工作空間設(shè)置的臨時表生命周期,默認(rèn)為28天。更多關(guān)于工作空間臨時表生命周期的內(nèi)容,請參見管理工作空間。
如果您在可視化參數(shù)配置中選中了是否由系統(tǒng)添加Create Table語句復(fù)選框,SQL腳本的中間位置可以配置任意的SQL語句,但是最后一句必須為Select語句。PAI會自動創(chuàng)建一個臨時表,用來存儲Select語句查詢的結(jié)果。如果您在SQL語句中自行創(chuàng)建了數(shù)據(jù)表,請按需設(shè)置臨時表的生命周期,詳情請參見管理工作空間。
可視化配置組件參數(shù)
Designer僅支持通過可視化方式,配置該組件參數(shù),參數(shù)詳情如下表所示。
參數(shù) | 描述 |
業(yè)務(wù)基準(zhǔn)日期 | 支持以下兩種配置方式:
|
是否打開多日期循環(huán)執(zhí)行 | 默認(rèn)打開多日期循環(huán)執(zhí)行。如果不打開多日期循環(huán)執(zhí)行,則該組件退化為普通的SQL腳本組件。 |
執(zhí)行時間窗口 | 支持配置整數(shù)和開閉區(qū)間,多個區(qū)間使用半角逗號(,)分隔。 配置后會從業(yè)務(wù)基準(zhǔn)日期計算出每個窗口對應(yīng)的日期段,總計啟動N個子任務(wù),且N不超過100。 例如:配置(-4,-2],0,結(jié)合業(yè)務(wù)基準(zhǔn)日期示例,代表需要執(zhí)行20230207、20230208、20230210三天的任務(wù)。 |
最大并發(fā)數(shù) | 避免一次性提交大量并發(fā)任務(wù)打滿資源。 |
日期格式 | 支持配置以下三種時間格式,用于生成
例如:選擇yyyy-MM-dd,則在示例SQL腳本中替換${pai.system.cycledate}時,會將20230210替換為2023-02-10。 |
是否由系統(tǒng)添加Create Table語句 |
|
SQL腳本 | 如果打開了多日期循環(huán)執(zhí)行,切記在需要循環(huán)的日期字段處,引用系統(tǒng)變量${pai.system.cycledate}。 例如:
其他功能同普通SQL腳本組件。 |