

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

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

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

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

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

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

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


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

| 处理建议 | 说明 | 
| --- | --- | 
| databrew:ListRecipes | 授予检索 Amazon Glue DataBrew 配方的权限。 | 
| databrew:ListRecipeVersions | 授予检索 Amazon Glue DataBrew 配方版本的权限。 | 
| databrew:DescribeRecipe | 授予检索 Amazon Glue DataBrew 配方描述的权限。 | 



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

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

****  

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

------



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


**其他必需的权限**  

| 处理建议 | 说明 | 
| --- | --- | 
| 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"
```



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

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

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

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

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

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

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

1.  选择**创作配方**。如果**创作配方**为灰色，则在选择父节点并完成数据预览会话之前，它不可用。  
![显示已选择“名称”字段、“父级节点”下拉列表和“计划 S3 数据来源”的“撰写配方”界面。](http://docs.amazonaws.cn/glue/latest/dg/images/glue-author-data-preparation-recipe.png)

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

    选择**更多操作**图标，然后选择**导入配方**。  
![在“配方”标题旁的下拉菜单中显示的“导入配方”选项。](http://docs.amazonaws.cn/glue/latest/dg/images/glue-dataframe-import-recipe.png)

1.  使用导入配方向导完成相关步骤。在步骤 1 中，搜索您的配方，将其选中，然后选择**下一步**。  
![显示第 1 步的导入配方向导，从列表中选择了 Populations Sample Project 配方。](http://docs.amazonaws.cn/glue/latest/dg/images/import-recipe-step-1.png)

1.  在步骤 2 中，选择您的导入选项。您可以选择将新配方附加到现有配方或覆盖现有配方。选择**下一步**。  
![显示“附加”和“覆盖”单选按钮的导入选项步骤，其中列出了已导入的配方步骤。](http://docs.amazonaws.cn/glue/latest/dg/images/import-recipe-step-2.png)

1.  在步骤 3 中，验证配方步骤。导入 Amazon Glue DataBrew 配方后，您可以直接在 Amazon Glue Studio 中编辑此配方。  
![第 3 步界面中的验证步骤进度指示器，显示已验证 0 个步骤（共 2 个）。](http://docs.amazonaws.cn/glue/latest/dg/images/import-recipe-step-3.png)  
![第 3 步验证屏幕，显示所有配方步骤均已验证，并带有绿色勾号。](http://docs.amazonaws.cn/glue/latest/dg/images/import-recipe-step-3-validated-2.png)

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

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

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