閱讀998 返回首頁    go iPhone_iPad_Mac_apple


環境變量__操作指南_批量計算-阿裏雲

任務程序環境變量

1. BatchCompute為用戶任務程序提供以下的環境變量:

變量名 變量值
BATCH_COMPUTE_DAG_JOB_ID 作業ID,視實際情況而定
BATCH_COMPUTE_DAG_TASK_ID 任務名稱,視實際情況而定
BATCH_COMPUTE_DAG_INSTANCE_ID 實例ID,視實際情況而定
BATCH_COMPUTE_OSS_HOST OSS host,視實際情況而定
BATCH_COMPUTE_REGION 區域,視實際情況而定
BATCH_COMPUTE_CLUSTER_ID cluser id
BATCH_COMPUTE_WORKER_ID worker id

程序運行在 docker 容器中的環境變量稍有不同:

變量名 變量值
USER root
PWD /batchcompute/workdir
PATH /sbin:/usr/sbin:/bin:/usr/bin, 注意沒有/usr/local/bin; 如果要設置PATH,需要在提交作業時在EnvVars字段中指定
HOME /root
BATCH_COMPUTE_DAG_JOB_ID 作業ID,視實際情況而定
BATCH_COMPUTE_DAG_TASK_ID 任務名稱,視實際情況而定
BATCH_COMPUTE_DAG_INSTANCE_ID 實例ID,視實際情況而定
BATCH_COMPUTE_OSS_HOST OSS host,視實際情況而定
BATCH_COMPUTE_REGION 區域,視實際情況而定

2. 如何使用

用戶隻需在任務運行程序中從環境變量中獲取即可, 舉例:

(1) python 程序中使用環境變量:

  1. task_id = os.environ['BATCH_COMPUTE_DAG_TASK_ID']
  2. instance_id = os.environ['BATCH_COMPUTE_DAG_INSTANCE_ID']

(2) java 程序中使用環境變量:

  1. String taskId = System.getenv("BATCH_COMPUTE_DAG_TASK_ID");
  2. String instanceId = System.getenv("BATCH_COMPUTE_DAG_INSTANCE_ID");

3. 自定義環境變量

除了係統提供的環境變量,你也可以在提交作業的時候設置新的環境變量。

(1) 使用 Python SDK

代碼片段:

  1. env = {
  2. 'k1': 'v1',
  3. 'k2': 'v2'
  4. }
  5. ...
  6. job_desc['DAG']['Tasks']['my-task']['Parameters']['Command']['EnvVars']=env
  7. ...

(2) 使用 Java SDK

代碼片段:

  1. Command cmd= new Command();
  2. cmd.addEnvVars("k1","v1");
  3. cmd.addEnvVars("k2","v2");
  4. ...
  5. TaskDescription desc = TaskDescription();
  6. Parameters parmas = new Parameters();
  7. params.setCommand(cmd);
  8. ...
  9. desc.setParameters(params);

(3) 使用命令行工具:

  1. bcs sub "python main.py" -e k1:v1,k2:v2

最後更新:2016-12-11 20:34:21

  上一篇:go 實例類型__操作指南_批量計算-阿裏雲
  下一篇:go 用戶限額__操作指南_批量計算-阿裏雲