使用者使用工具(如 SDK,命令列工具等)向 BatchCompute 提交作業,BatchCompute 使用使用者指定的鏡像(如:ubuntu)啟動虛擬機器(VM), 在虛擬機器中運行使用者程式, 運行完成後釋放虛擬機器(VM)。
BatchCompute 中使用 OSS作為持久化儲存。您可以在程式運行完成時將結果資料儲存到 OSS 中。在批次運算中,也可以通過檔案介面的方式訪問 OSS 上的資料,請參閱 OSS掛載。
BatchCompute 程式預設運行在 VM 中,也支援 Docker容器。 也就是說,您可以自訂ECS鏡像或者使用Docker,在鏡像中安裝自己需要的任何軟體,用來運行您的任何程式。
作業描述
使用者需要提交一個作業(Job)描述 JSON 檔案到批次運算服務,該 JSON 檔案中詳細描述了需要執行哪些程式(支援多個程式),運行哪些程式需要啟動多少台機器,機器的規格(記憶體和CPU等),作業記錄列印到哪裡,完成後結果輸出到哪裡等。
一個作業(Job)包含多個任務(Task), 按照您指定 DAG 描述的順序執行。
每個任務定義了使用哪個鏡像,使用什麼執行個體規格,運行哪個程式,需要多少台機器運行,還有結果儲存在哪裡等。


2. 管理我的作業
您可以使用工具(控制台,命令列工具等),查看我提交的作業,可以停止,重啟,或刪除作業。 查看各個任務的情況,各個執行個體(VM 執行個體)的情況和日誌。下圖是控制台的作業管理介面:

3. 使用叢集
由於每次運行程式前需要啟動虛擬機器,會佔用一定的時間(一般幾分鐘左右),遇到忙時有可能申請不到資源(虛擬機器被其他客戶使用了),您提交作業後可能需要等待一段時間才能運行。
如果您想要提高運行效率,可以先建立好叢集,指定需要的虛擬機器數量(比如:5台)和鏡像ID,BatchCompute 會為您分配好機器並啟動,這些機器會一直處於運行狀態,一旦您提交作業上來,就可以直接運行,效率較高。
4. 自訂鏡像
您提交作業或者建立叢集時,可以使用批次運算官方提供的鏡像,也可以使用自訂鏡像。自訂鏡像的好處是,可以自己安裝需要的軟體。