

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 管道结构和执行
<a name="build-and-manage-pipeline"></a>

**Topics**
+ [管线结构](#build-and-manage-pipeline-structure)
+ [使用并行配置执行管道](#build-and-manage-pipeline-execution)

## 管线结构
<a name="build-and-manage-pipeline-structure"></a>

Amaz SageMaker on Pipelines 实例由`name`、`parameters`、和组成`steps`。`(account, region)` 对中的管道名称必须是唯一的。步骤定义中使用的所有参数都必须在管道中定义。列出的管道步骤会根据彼此之间的数据依赖关系自动确定其执行顺序。管道服务会解析数据依赖 DAG 中各步骤之间的关系，创建一系列执行完成的步骤。以下是管道结构的示例。

**警告**  
通过可视化编辑器或 SageMaker AI Python SDK 构建管道时，请勿在管道参数或任何步骤定义字段（例如环境变量）中包含敏感信息。这些字段在未来通过 `DescribePipeline` 请求返回时将可见。

```
from sagemaker.workflow.pipeline import Pipeline
  
  pipeline_name = f"AbalonePipeline"
  pipeline = Pipeline(
      name=pipeline_name,
      parameters=[
          processing_instance_type, 
          processing_instance_count,
          training_instance_type,
          model_approval_status,
          input_data,
          batch_data,
      ],
      steps=[step_process, step_train, step_eval, step_cond],
  )
```

## 使用并行配置执行管道
<a name="build-and-manage-pipeline-execution"></a>

默认情况下，管线会执行所有可并行运行的步骤。创建或更新管线以及启动或重试管线执行时，您可以使用 `ParallelismConfiguration` 属性来控制此行为。

每个执行都会应用并行配置。例如，如果启动了两个执行，则每个执行最多可以同时运行 50 个步骤，总共可以同时运行 100 个步骤。此外，启动、重试或更新执行时指定的 `ParallelismConfiguration` 优先于管道中定义的并行配置。

**Example 使用 `ParallelismConfiguration` 创建管道执行**  

```
pipeline = Pipeline(
        name="myPipeline",
        steps=[step_process, step_train]
    )

  pipeline.create(role, parallelism_config={"MaxParallelExecutionSteps": 50})
```