本文將向您介紹批量計算產品中涉及的幾種作業類型,以便于您更好地選擇批量計算產品。
背景
批量計算依據您使用集群方式的區別,將作業分為固定集群作業,自動集群作業,組合集群作業三種類型。下面分別介紹三種作業的優缺點,您可依據業務需求選擇相應的作業類型。
作業概述
固定集群作業
優點:集群支持分布式緩存,適用大規模作業的場景;
缺點:需要您花費精力管理集群資源生命周期。
自動集群作業
優點:您無需花費精力管理集群,由批量計算自動管理集群生命周期;
缺點:集群間無法共享分布式緩存數據,訪問存儲壓力大,占用資源多,適用小規模作業的場景。
組合集群作業
批量計算最新推出的作業類型。使用方法請參考組合集群最佳實踐
優點:
- 支持資源彈性伸縮,您無需管理集群生命周期;
- 分布式緩存提高IO性能,減少帶寬占用;
- 極大減少集群數量,節省資源 ;
- 減少作業等待時間,使用方式簡單,遷移成本小。
缺點:您首次使用需創建一個集群,然后才能提交作業。
使用區別
作業管理
類型 | 組合集群 | 自動集群 | 固定集群 |
---|---|---|---|
創建 | 需要事先創建集群,在自動集群配置里填寫當前task需要的配置。 | 作業啟動時自動創建。 | 需要事先創建集群,創建集群時需要指定ImageId和InstanceType,還有需要的機器臺數。 |
釋放 | 手動創建的集群需要自己刪除。 | 作業完成后自動釋放。 | 需要手動刪除。如果您不再使用集群,請刪除,不然會一直收費。 |
使用 | 提交作業時需要在自動集群字段中指定集群ID。 | 提交作業時指定ImageId和InstanceType,還有需要的機器臺數。 | 提交作業時指定集群ID。 |
作業格式
- 固定集群模式,直接填寫已經創建好的集群。
from batchcompute.resources import (
JobDescription, TaskDescription
)
job_desc = JobDescription()
task_desc = TaskDescription()
task_desc.ClusterId = "cls-xxxx"
task_desc.AutoCluster.ClusterId = ""
job_desc.DAG.add_task ("cluster", task_desc)
- Auto-Cluster模式
from batchcompute.resources import (
JobDescription, TaskDescription
)
job_desc = JobDescription()
task_desc = TaskDescription()
task_desc.ClusterId = ""
task_desc.AutoCluster.ClusterId = ""
job_desc.DAG.add_task ("auto_cluster", task_desc)
- Attach-Cluster模式:
from batchcompute.resources import (
JobDescription, TaskDescription
)
job_desc = JobDescription()
task_desc = TaskDescription()
task_desc.ClusterId = ""
task_desc.AutoCluster.ClusterId = "cls-xxxx"
job_desc.DAG.add_task ("attach_cluster", task_desc)
適用場景
固定集群作業
如果您有很多作業要處理,可以考慮使用固定集群。 比如提交100個作業,您可以創建一個10臺VM的固定集群,將100個作業全部提交到這個集群即可, 系統會在每個任務完成后自動調度下一個任務運行。全部運行完成后,你需要手動釋放掉集群。
自動集群作業
自動集群在提交作業時指定需要的實例數和實例規格,實際運行任務的時候系統自動創建集群,運行任務完成后自動釋放。不在乎等待時間長,或者作業較少情況下,可以使用自動集群。
組合集群作業
您有很多自動集群的作業時(成千上萬級別),需要選用組合集群。提交作業時需要指定自動集群配置中的集群信息,作業運行的時候會被組合到指定集群上。集群會自動申請和釋放所需資源。
文檔內容是否對您有幫助?