全部產品
Search
文件中心

Batch Compute:環境變數

更新時間:Jul 06, 2024

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. 如何使用環境變數

您只需在任務運行程式中從環境變數中擷取即可,樣本:

2.1. Python 程式中使用環境變數

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

2.2. Java 程式中使用環境變數

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

3. 自訂環境變數

除了系統提供的環境變數,你也可以在提交作業的時候設定新的環境變數。

3.1. 使用 Python SDK

程式碼片段:

env = {
   'k1': 'v1',
   'k2': 'v2'
}
...
job_desc['DAG']['Tasks']['my-task']['Parameters']['Command']['EnvVars']=env
...

3.2. 使用 Java SDK

程式碼片段:

Command cmd= new Command();
cmd.addEnvVars("k1","v1");
cmd.addEnvVars("k2","v2");
...

TaskDescription desc = TaskDescription();
Parameters parmas = new Parameters();
params.setCommand(cmd);
...
desc.setParameters(params);

3.3. 使用命令列工具

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