用戶使用工具(如 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. 自定義鏡像
您提交作業或者創建集群時,可以使用批量計算官方提供的鏡像,也可以使用自定義鏡像。自定義鏡像的好處是,可以自己安裝需要的軟件。