676
阿裏雲
創建(提交)作業__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