676
windows
創建(提交)作業__SDK接口說明_Java版SDK_批量計算-阿裏雲
創建(提交)作業
createJob
方法說明:
創建並提交一個作業到BatchCompute。
參數說明:
參數 |
類型 |
是否必需 |
說明 |
---|
jobDescription |
JobDescription |
是 |
Job對象中有各個任務的描述信息,和任務的DAG依賴。 |
下麵的 JobDescription ,TaskDag,TaskDescription以及ResourceDescription的包名都是: com.aliyuncs.batchcompute.pojo.v20151111
(1) JobDescription的屬性(都有getter和setter方法)
屬性 |
類型 |
是否必需 |
說明 |
---|
name |
String |
是 |
作業名稱。 |
priority |
int |
是 |
優先級用一個[0,1000]範圍內的整數指定。數值越高表示作業調度時的優先級越高 |
description |
String |
否 |
作業的簡短描述信息。 |
dag |
DAG |
是 |
Job對象中有各個任務的描述信息,以及各個任務之間的DAG依賴。 |
jobFailOnInstanceFail |
boolean |
是 |
表示Instance失敗會否導致Job失敗,一般取值為true。 |
autoRelease |
boolean |
否 |
表示job運行成功自動會被立即釋放(刪除)掉。默認為false。 |
type |
String |
是 |
作業類型,目前僅支持有向無環圖(directed acycline graph,DAG)形式描述任務。取值: “DAG” |
notification |
Notification |
否 |
消息通知配置,可以配置MNS服務的Topic和Job相關事件. |
(2) DAG 的屬性(都有getter和setter方法)
屬性 |
類型 |
是否必需 |
說明 |
---|
tasks |
Map<String, TaskDescription> |
是 |
所有任務名與任務描述的映射信息。 |
dependencies |
Map<String, List<String>> |
否 |
任務之間的依賴關係, 也是一個map,其中key為 源任務名稱,value為 目標任務名稱 列表,可以描述一對多的順序關係 (詳見示例)。 |
(3) TaskDescription的屬性(都有getter和setter方法)
屬性 |
類型 |
是否必需 |
描述 |
---|
taskName |
String |
是 |
任務名稱。 |
clusterId |
String |
否 |
集群ID。該參數和autoCluster(匿名集群)參數隻能選一個。 |
autoCluster |
AutoCluster |
否 |
匿名集群,該參數和集群ID隻能選一個。 |
parameters |
Paramters |
是 |
程序運行相關配置 |
inputMapping |
Map<String,String> |
否 |
用來描述OSS上路徑同本地掛載位置的映射關係。 所有掛載位置,必須以’/’結尾,可以位於相同的bucket,也可以位於不同的bucket,但是必須歸屬同一個用戶。掛載位置在windows下是一個盤符,在linux下是一個文件夾。 key為oss路徑,value為掛載路徑,如:”D:”,或“/home/admin/dist1” |
outMapping |
Map<String,String> |
否 |
本地路徑對OSS映射,Key為本地路徑,value為OSS路徑。 |
logMapping |
Map<String,String> |
否 |
本地日誌路徑對OSS映射,Key為本地路徑,value為OSS路徑。 |
instanceCount |
int |
是 |
任務中實例的個數,正數。 |
timeout |
int |
是 |
設置任務中的一個實例的最長執行時間(超時時間),範圍為[1,86400],單位為秒。 |
maxRetryCount |
int |
否 |
最大重試次數,默認為0。 |
(4) AutoCluster的屬性(都有getter和setter方法)
屬性 |
類型 |
是否必需 |
描述 |
---|
ECSImageId |
String |
是 |
支持ECS鏡像ID和注冊的鏡像ID。 |
instanceType |
String |
是 |
實例類型。不同region支持的實例類型不一樣。 |
resourceType |
String |
是 |
資源類型,目前隻支持且默認為:”OnDemand”。 |
userData |
Map<String, String> |
否 |
用戶數據 |
configs |
Configs |
否 |
集群的一些配置信息,比如實例的磁盤配置,由Configs描述。 |
(5) Parameters的屬性(都有getter和setter方法)
屬性 |
類型 |
是否必需 |
描述 |
---|
command |
Command |
是 |
用戶程序相關命令行參數。 |
inputMappingConfig |
InputMappingConfig |
否 |
NFS掛載服務配置項。 |
stdoutRedirectPath |
String |
是 |
標準輸出將被上傳到這裏, 應該是一個oss路徑。 |
stderrRedirectPath |
String |
是 |
標準錯誤將被上傳到這裏, 應該是一個oss路徑。 |
(6) Command 的屬性(都有getter和setter方法)
屬性 |
類型 |
是否必需 |
描述 |
---|
commandLine |
String |
是 |
執行用戶程序的命令。 |
PackagePath |
String |
是 |
用戶程序所在OSS路徑。 |
EnvVars |
Map<String,String> |
否 |
用戶程序開始執行時,需要設置的環境變量。 |
(7) InputMappingConfig的屬性(都有getter和setter方法)
屬性 |
類型 |
是否必需 |
描述 |
---|
lock |
Boolean |
否 |
布爾型變量,用來確定NFS掛載服務是否支持網絡文件鎖。如果設置為true,則會開啟網絡鎖服務,為文件鎖提供後端支持。 如果設置為false,則會關閉文件鎖服務,可以提高文件訪問的性能。但是文件鎖的支持僅在NFS客戶端,不會同步到服務端,對於有些操作係統,顯示的文件鎖方法可能會失敗。 |
locale |
String |
否 |
OSS上的Object統一采用UTF-8編碼命名,這個參數可以決定掛載後使用的本地字符集。 可選範圍包括GBK、GB2312-80、BIG5、ANSI、EUC-JP、EUC-TW、EUC-KR、SHIFT-JIS、KSC5601等。 |
(8) Notification的屬性(都有getter和setter方法)
屬性 |
類型 |
是否必需 |
描述 |
---|
topic |
Topic |
否 |
消息Topic |
(9) Topic 的屬性(都有getter和setter方法)
返回值說明:
- 創建成功後返回一個CreateJobResponse實例,可以通過 response.getJobId() 獲取創建的作業ID。
類型 |
說明 |
---|
CreateJobResponse |
可以獲取創建成功的jobId。 |
CreateJobResponse的包名為:com.aliyuncs.batchcompute.model.v20151111,下麵的其他Response都是在這個包下麵。
- 創建失敗後,拋出異常: ClientException。
代碼示例:
try{
CreateJobResponse response = client.createJob(jobDescription);
String jobId = response.getJobId();
//創建成功
}catch(ClientException e){
e.printStackTrace();
//創建失敗
}
最後更新:2016-12-17 16:45:25