全部产品
弹性计算 会员服务 网络 安全 移动云 数加·大数据分析及展现 数加·大数据应用 管理与监控 云通信 阿里云办公 培训与认证 智能硬件
存储与CDN 数据库 域名与网站(万网) 应用服务 数加·人工智能 数加·大数据基础服务 互联网中间件 视频服务 开发者工具 解决方案 物联网 更多
批量计算

命令行快速开始1

更新时间:2018-02-12 18:55:10

如果您还没开通批量计算服务,请先开通

步骤预览

  • 命令行工具安装和配置
  • 作业准备
    • 上传数据文件到OSS
    • 准备任务程序
  • 提交作业
  • 查看作业运行状态及运行结果

1. 命令行工具安装和配置

命令行工具安装和配置

2. 作业准备

本作业的目的是求和,将 input.txt 中的数字全部加起来,求和后写入 output.txt。

由于计算比较简单本作业只需1个任务。

本例将OSS的目录挂载为VM本地目录,使用文件方式操作。

(1) 上传数据文件到OSS

先自行创建 input.txt。

input.txt的内容(确保一行一个数字):

  1. 2
  2. 40
  3. 51

将 input.txt 上传到:

  1. bcs o up input.txt oss://your-bucket/sum/inputs/
  2. # 上传完成后check
  3. bcs o ls oss://your-bucket/sum/inputs/
  • your-bucket表示您自己创建的bucket,本例子假设region为: cn-shenzhen.
  • bcs o 命令提供几个OSS常用的功能,使用 bcs o -h 可以查看帮助,测试少量数据时使用很方便,但上传下载大量数据时不建议使用(没有实现多线程,上传下载慢。更多关于如何上传到OSS,请参考常用OSS工具

(2) 准备任务程序

sum.sh 内容:

  1. #!/bin/bash
  2. t=0
  3. while read LINE
  4. do
  5. t=$(($t+${LINE}))
  6. done < /home/inputs/input.txt
  7. echo $t
  8. echo $t > /home/outputs/output.txt

注意在上一个步骤里我们把输入文件 input.txt 上传到了oss://your-bucket/sum/inputs/,在以上程序中 input.txt 是从虚拟机的/home/inputs/目录中读取,这是通过批量计算中对 OSS 的挂载功能实现的,具体配置将在下一步骤“提交作业”中解释。

在这个示例程序里,我们通过 bash 脚本完成了求和的功能。您也可以在脚本里执行任何其他应用程序,如何把应用程序部署到批量计算环境请参考自定义镜像使用Docker

3. 提交作业

在 sum.sh 所在目录运行下面的命令来提交作业:

  1. bcs sub "sh sum.sh" -p sum.sh -r oss://your-bucket/sum/inputs/:/home/inputs/ -w oss://your-bucket/sum/outputs/:/home/outputs/
  • 这里使用默认镜像和默认实例类型

  • -r 表示只读挂载,将OSS目录oss://your-bucket/sum/inputs/只读挂载到VM本地目录/home/inputs/,程序可以通过/home/inputs/路径来访问 input.txt 文件。

  • -w 表示可写挂载,将OSS目录oss://your-bucket/sum/outputs/挂载为VM本地目录/home/outputs/,写入本地目录/home/outputs/下的文件output.txt,会在程序运行完后,被自动上传到 OSS 的对应目录。

4. 查看作业运行状态及运行结果

  1. bcs j # 获取作业列表, 每次获取作业列表后都会将列表缓存下来,一般第一个即是你刚才提交的作业
  2. bcs j 1 # 查看缓存中第一个作业的详情
  3. bcs log 1 # 查看缓存中第一个作业日志

可以使用以下命令查看结果:

  1. bcs o cat oss://your-bucket/sum/outputs/output.txt
本文导读目录