

# 在 AWS Glue Studio 中导入 AWS Glue DataBrew 配方
<a name="glue-studio-data-preparation-import-recipe"></a>

 在 AWS Glue DataBrew 中，配方是数据转换步骤的集合。AWS Glue DataBrew 配方规定了如何转换已读取的数据，但没有描述在何处如何读取数据，以及如何在何处写入数据。这是在 AWS Glue Studio 的“源节点”和“目标节点”中配置。有关配方的更多信息，请参阅 [Creating and using AWS Glue DataBrew recipes](https://docs.aws.amazon.com/databrew/latest/dg/recipes.html)。

 要在 AWS Glue Studio 中使用 AWS Glue DataBrew 配方，请先在 AWS Glue DataBrew 中创建配方。如果您已有要使用的配方，则可跳过这一步。

## AWS Glue DataBrew 的 IAM 权限
<a name="glue-studio-databrew-permissions"></a>

 本主题提供的信息可帮助您了解 IAM 管理员了解可以在数据准备配方转换的 AWS Identity and Access Management（IAM）policy 中使用的操作和资源。

 有关 AWS Glue 中的其他安全信息，请参阅 [Access Management](https://docs.aws.amazon.com/glue/latest/dg/security.html)。

**注意**  
 下表列举了用户导入现有 AWS Glue DataBrew 配方时需要的权限。


**数据准备配方转换操作**  

| Action | 说明 | 
| --- | --- | 
| databrew:ListRecipes | 授予检索 AWS Glue DataBrew 配方的权限。 | 
| databrew:ListRecipeVersions | 授予检索 AWS Glue DataBrew 配方版本的权限。 | 
| databrew:DescribeRecipe | 授予检索 AWS Glue DataBrew 配方描述的权限。 | 



 您用于访问此功能的角色应包含一个允许多项 AWS Glue DataBrew 操作的策略。您可以通过使用包含必要操作的 `AWSGlueConsoleFullAccess` 策略或在角色中添加以下内联策略来实现此目的：

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "databrew:ListRecipes",
        "databrew:ListRecipeVersions",
        "databrew:DescribeRecipe"
      ],
      "Resource": [
        "*"
      ]
    }
  ]
}
```

------



 要使用数据准备配方转换，必须将 `IAM:PassRole` 操作添加到权限策略中。


**其他必需的权限**  

| Action | 说明 | 
| --- | --- | 
| iam:PassRole | 向 IAM 授予权限，允许用户传递已批准的角色。 | 

如果没有这些权限，则会发生以下错误：

```
"errorCode": "AccessDenied"
"errorMessage": "User: arn:aws:sts::account_id:assumed-role/AWSGlueServiceRole is not 
authorized to perform: iam:PassRole on resource: arn:aws:iam::account_id:role/service-role/AWSGlueServiceRole 
because no identity-based policy allows the iam:PassRole action"
```



## 导入 AWS Glue DataBrew 配方
<a name="glue-studio-databrew-import-steps"></a>

**导入 AWS Glue DataBrew 配方并在 AWS Glue Studio 中使用：**

 如果已有**数据准备配方**节点，并且想要直接 AWS Glue Studio 在中编辑配方步骤，则必须将配方步骤导入到 AWS Glue Studio 作业中。

1.  使用数据来源在 AWS Glue Studio 中启动 AWS Glue 作业。

1.  将**数据准备配方**节点添加到作业画布中。  
![\[屏幕截图显示了“添加节点”模式窗口，其中包含可供选择的数据准备配方。\]](http://docs.aws.amazon.com/zh_cn/glue/latest/dg/images/glue-add-node-data-preparation-recipe.png)

1.  在“转换”面板中，输入配方的名称。

1.  通过从下拉列表中选择画布上的可用节点来选择一个或多个父节点。

1.  选择**创作配方**。如果**创作配方**为灰色，则在选择父节点并完成数据预览会话之前，它不可用。  
![\[Author Data Preparation Recipe form with name field and node parents selection dropdown.\]](http://docs.aws.amazon.com/zh_cn/glue/latest/dg/images/glue-author-data-preparation-recipe.png)

1.  数据框加载并显示有关源数据的详细信息。

    选择**更多操作**图标，然后选择**导入配方**。  
![\[Data preparation interface showing "Build your Recipe" with an "Add step" button.\]](http://docs.aws.amazon.com/zh_cn/glue/latest/dg/images/glue-dataframe-import-recipe.png)

1.  使用导入配方向导完成相关步骤。在步骤 1 中，搜索您的配方，将其选中，然后选择**下一步**。  
![\[Import recipe interface showing two recipes, with one selected for import.\]](http://docs.aws.amazon.com/zh_cn/glue/latest/dg/images/import-recipe-step-1.png)

1.  在步骤 2 中，选择您的导入选项。您可以选择将新配方附加到现有配方或覆盖现有配方。选择**下一步**。  
![\[Import recipe interface showing selected recipe, version, and two imported steps.\]](http://docs.aws.amazon.com/zh_cn/glue/latest/dg/images/import-recipe-step-2.png)

1.  在步骤 3 中，验证配方步骤。导入 AWS Glue DataBrew 配方后，您可以直接在 AWS Glue Studio 中编辑此配方。  
![\[Recipe import interface showing two steps and a validation progress indicator.\]](http://docs.aws.amazon.com/zh_cn/glue/latest/dg/images/import-recipe-step-3.png)  
![\[Import recipe interface showing validated steps for sorting and formatting data.\]](http://docs.aws.amazon.com/zh_cn/glue/latest/dg/images/import-recipe-step-3-validated-2.png)

1.  之后，这些步骤将作为 AWS Glue 作业的一部分导入。在**作业详细信息**选项卡中进行必要的配置更改，例如根据需要为作业命名以及调整分配的容量。选择**保存**以保存作业和配方。
**注意**  
 配方导入不支持 JOIN、UNION、GROUP\$1BY、PIVOT、UNPIVOT、TRANSPOSE 等操作，也不能在配方创作模式下使用。

1.  您也可以根据需要添加其他转换节点并添加数据目标节点，从而完成作业编写。

    如果您在导入配方后对步骤重新排序，则 AWS Glue 会对这些步骤执行验证。例如，假设您重命名某列后将其删除，然后将删除步骤移到顶部，则重命名步骤将会无效。然后您可以编辑步骤以修复验证错误。