126
財經資訊
係統調度參數__數據開發手冊_用戶操作指南_大數據開發套件-阿裏雲
目前係統參數有兩個,這兩個係統參數隻要代碼裏用到,不需要做額外的賦值動作,節點自動調度的時候就會自動替換。係統參數分別為:
${bdp.system.bizdate}
格式yyyymmdd,日常調度實例定時時間的前一天(年月日)。節點每天自動調度實例定時時間年月日減1天。
${bdp.system.cyctime}
格式yyyymmddhh24miss,日常調度實例定時時間(年月日時分秒)。yyyy表示4位數年份,mm表示2位數月份,dd表示2位數天,hh24表示24小時製的時,mi表示2位數分鍾,ss表示2位數秒。
■ 入門示例:工作流設置為小時調度,每天00:00-23:59時間段裏每隔1小時執行一次。
節點代碼如下:
insert overwrite table tb1 partition(ds ='20150304') select
c1,c2,c3
from (
select * from tb2
where ds ='${bdp.system.cyctime}') t
full outer join(
select * from tb3
where ds = '${bdp.system.bizdate}') y
on t.c1 = y.c1;
相應的工作流和節點參數屬性配置如下:
2015年10月27日當天,工作流調度生成24個實例:
1)第一個實例定時時間為2015-10-27 00:00:00,則:
bdp.system.cyctime替換的結果為20151027000000,
bdp.system.bizdate替換的結果為20151026。
2)第二個實例定時時間為2015-10-27 01:00:00,則:
bdp.system.cyctime替換的結果為20151027010000,
bdp.system.bizdate替換的結果為20151026。
3)以此類推第24個實例定時時間為2015-10-27 23:00:00,則:
bdp.system.cyctime替換的結果為20151027230000,
bdp.system.bizdate替換的結果為20151026。
自定義參數
聲明變量方式:${變量名}
自定義參數支持代碼中自定義變量名,調度的時候需要給自定義變量名指定賦值。在大數據開發套件中以${變量名}方式來聲明變量,在參數中以變量名=調度參數或常量的方式來賦值。
■ 入門示例 給節點代碼中需要insert的表名配置成變量${tablename}。
節點代碼如下:
insert overwrite table ${tablename} partition(ds ='20150304') select
c1,c2,c3
from (
select * from tb2
where ds ='${bdp.system.cyctime}') t
full outer join(
select * from tb3
where ds = '${bdp.system.bizdate}') y
on t.c1 = y.c1;
對應節點參數屬性配置如下圖:
節點調度運行的時候,代碼裏${tablename}替換為‘t_table_001’。
$[…]基於係統參數${bdp.system.cyctime}進行自定義格式
${bdp.system.cyctime}=$[yyyymmddhh24miss]可以任意分解組合,以及指定格式,如定時時間年月日$[yyyymmdd]、$[yyyy-mm-dd]等格式可自定義,定時時間時分秒$[hh24miss]、$[hh24:mi:ss]等格式可自定義。
【注意】:所有參數都不允許包含空格!以cyctime為基準參與運行,具體使用方法見以下說明文檔,和oracle的時間運算方式一致。補數據的時候,選中什麼業務日期,參數替換結果是業務日期+1天,如果補數據選20140510這個業務日期,執行時cyctime替換結果是20140511。
獲取+/-周期的方法:
後N年:$[add_months(yyyymmdd,12*N)]
前N年:$[add_months(yyyymmdd,-12*N)]
後N月:$[add_months(yyyymmdd,N)]
前N月:$[add_months(yyyymmdd,-N)]
後N周:$[yyyymmdd+7*N]
前N周:$[yyyymmdd-7*N]
後N天:$[yyyymmdd+N]
前N天:$[yyyymmdd-N]
後N小時:$[hh24miss+N/24]
前N小時:$[hh24miss-N/24]
後N分鍾:$[hh24miss+N/24/60]
前N分鍾:$[hh24miss-N/24/60]
■ 入門示例:工作流設置為小時調度,每天00:00-23:59時間段裏每隔1小時執行一次。ODPS SQL節點代碼如下:
insert overwrite table tb1 partition(ds ='20150304') select
c1,c2,c3
from (
select * from tb2
where ds ='${thishour}') t
full outer join(
select * from tb3
where ds = '${lasthour}') y
on t.c1 = y.c1;
工作流、節點屬性如下:
自定義參數配置如下:
thishour=$[yyyy-mm-dd/hh24:mi:ss]
lasthour =$[yyyy-mm-dd/hh24:mi:ss-1/24]
2015年10月27日當天,工作流生成24個實例:
1)第一個實例定時時間為2015-10-27 00:00:00,那麼thishour替換的結果為2015-10-27/00:00:00,lasthour替換的結果為2015-10-26/23:00:00。
2)第二個實例定時時間為2015-10-27 01:00:00,那麼thishour替換的結果為2015-10-27/01:00:00,lasthour替換的結果為2015-10-27/00:00:00。
3)以此類推第24個實例定時時間為2015-10-27 23:00:00,那麼thishour替換的結果為2015-10-27/23:00:00,lasthour替換的結果為2015-10-27/22:00:00。
最後更新:2016-11-24 11:23:48
上一篇:
ODPS代碼編輯器__數據開發手冊_用戶操作指南_大數據開發套件-阿裏雲
下一篇:
基本介紹__運維中心手冊_用戶操作指南_大數據開發套件-阿裏雲
手機和郵箱不可用如何在線轉移__業務轉移_產品管理_會員賬號&實名認證-阿裏雲
步驟4:修改DNS解析(可選)__快速入門(非網站業務)_DDoS 高防IP-阿裏雲
創建集群實例__集群API列表_API參考_容器服務-阿裏雲
查詢熱門URL__資源監控接口_API 手冊_CDN-阿裏雲
測試監控__性能測試技術體係_性能測試體係_性能測試-阿裏雲
斷點續傳下載__下載文件_開發人員指南_對象存儲 OSS-阿裏雲
NotifyStrategy__基本概念_API使用手冊_消息服務-阿裏雲
專享/共享實例對比__產品簡介_分布式關係型數據庫 DRDS-阿裏雲
怎樣為一個子用戶授予隻讀訪問RDS的權限___雲數據庫(RDS)授權問題_授權常見問題_訪問控製-阿裏雲
返回值為空__錯誤說明_API 網關-阿裏雲
相關內容
常見錯誤說明__附錄_大數據計算服務-阿裏雲
發送短信接口__API使用手冊_短信服務-阿裏雲
接口文檔__Android_安全組件教程_移動安全-阿裏雲
運營商錯誤碼(聯通)__常見問題_短信服務-阿裏雲
設置短信模板__使用手冊_短信服務-阿裏雲
OSS 權限問題及排查__常見錯誤及排除_最佳實踐_對象存儲 OSS-阿裏雲
消息通知__操作指南_批量計算-阿裏雲
設備端快速接入(MQTT)__快速開始_阿裏雲物聯網套件-阿裏雲
查詢API調用流量數據__API管理相關接口_API_API 網關-阿裏雲
使用STS訪問__JavaScript-SDK_SDK 參考_對象存儲 OSS-阿裏雲