114
阿裏雲
並發__操作指南_批量計算-阿裏雲
一個作業(Job)中可以有多個任務(Task),一個任務可以指定在多個實例(Instance)上運行程序。
如何並發?
請看下麵 job description json 例子:
{"DAG": {..."Tasks": {..."count": {"InstanceCount": 3, //指定需要實例數:3台VM"LogMapping": {},"AutoCluster": {"ResourceType": "OnDemand","ImageId": "img-ubuntu","InstanceType": "bcs.a2.large"},"Parameters": {"Command": {"EnvVars": {},"CommandLine": "python count.py","PackagePath": "oss://your-bucket/log-count/worker.tar.gz"},"InputMappingConfig": {"Lock": true},"StdoutRedirectPath": "oss://your-bucket/log-count/logs/","StderrRedirectPath": "oss://your-bucket/log-count/logs/"},"OutputMapping": {},"MaxRetryCount": 0,"Timeout": 21600,"InputMapping": {}}}},"Description": "batchcompute job","Priority": 0,"JobFailOnInstanceFail": true,"Type": "DAG","Name": "log-count"}
任務count中配置了InstanceCount為3, 表示需要實例數3台, 即在3台VM上運行這個任務的程序。
並發處理不同片段的數據
3台VM上運行的任務程序都是一樣的,如何讓它處理不同的數據呢?
在任務程序中使用環境變量: BATCH_COMPUTE_DAG_INSTANCE_ID(實例ID) 來區分,可以處理不同片段的數據。
以下是 count.py 代碼片段:
...# instance_id: should start from 0instance_id = os.environ['BATCH_COMPUTE_DAG_INSTANCE_ID']...filename = 'part_%s.txt' % instance_id...# 1. download a partoss_tool.download_file('%s/%s/%s.txt' % (pre, split_results, instance_id ), filename)...# 3. upload result to ossupload_to = '%s/count_results/%s.json' % (pre, instance_id )print('upload to %s' % upload_to)oss_tool.put_data(json.dumps(m), upload_to)...
完整例子請看快速開始例子。
最後更新:2016-12-05 17:50:28
上一篇:
多任務__操作指南_批量計算-阿裏雲
下一篇:
前言__Docker_操作指南_批量計算-阿裏雲
DescribeCACertificates__ServerCertificate相關API_API 參考_負載均衡-阿裏雲
刪除APP錄製配置__直播流操作接口_API 手冊_CDN-阿裏雲
集群列表頁__集群_用戶指南_E-MapReduce-阿裏雲
備案審核需要多長時間?__備案基礎介紹_備案須知_備案-阿裏雲
創建應用__應用管理_用戶指南_容器服務-阿裏雲
API 數據源__準備數據源_用戶指南_業務實時監控服務 ARMS-阿裏雲
消費消息__隊列使用幫助_控製台使用幫助_消息服務-阿裏雲
創建災備實例__擴展實例_快速入門(MySQL)_雲數據庫 RDS 版-阿裏雲
MySQLReader__Reader插件_使用手冊_數據集成-阿裏雲
查詢App錄製配置__直播流操作接口_API 手冊_CDN-阿裏雲
相關內容
常見錯誤說明__附錄_大數據計算服務-阿裏雲
發送短信接口__API使用手冊_短信服務-阿裏雲
接口文檔__Android_安全組件教程_移動安全-阿裏雲
運營商錯誤碼(聯通)__常見問題_短信服務-阿裏雲
設置短信模板__使用手冊_短信服務-阿裏雲
OSS 權限問題及排查__常見錯誤及排除_最佳實踐_對象存儲 OSS-阿裏雲
消息通知__操作指南_批量計算-阿裏雲
設備端快速接入(MQTT)__快速開始_阿裏雲物聯網套件-阿裏雲
查詢API調用流量數據__API管理相關接口_API_API 網關-阿裏雲
使用STS訪問__JavaScript-SDK_SDK 參考_對象存儲 OSS-阿裏雲