114
windows
并发__操作指南_批量计算-阿里云
一个作业(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 0
instance_id = os.environ['BATCH_COMPUTE_DAG_INSTANCE_ID']
...
filename = 'part_%s.txt' % instance_id
...
# 1. download a part
oss_tool.download_file('%s/%s/%s.txt' % (pre, split_results, instance_id ), filename)
...
# 3. upload result to oss
upload_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-阿里云