

# 创建 Amazon Redshift 目标节点
<a name="creating-redshift-target-node"></a>

## 所需权限
<a name="creating-redshift-target-node-permissions"></a>

 使用 Amazon Redshift 数据目标的 AWS Glue Studio 作业需要额外的权限。有关如何为 ETL 作业添加权限的更多信息，请参阅 [Review IAM permissions needed for ETL jobs](https://docs.aws.amazon.com/glue/latest/ug/setting-up.html#getting-started-min-privs-job)。

 要使用 Amazon Redshift 连接，需要以下权限。
+  redshift-data:ListSchemas 
+  redshift-data:ListTables 

## 添加 Amazon Redshift 目标节点
<a name="w2aac25c27c13c15b5"></a>

**要创建 Amazon Redshift 目标节点，请执行以下操作：**

1.  选择现有 Amazon Redshift 表作为目标，或输入新的表名。

1.  使用**数据目标 - Redshift** 目标节点时，可以从以下选项中进行选择：
   +  **附加** - 如果表已经存在，则将所有新数据作为插入内容转储到表中。如果表不存在，请创建表并插入所有新数据。

      此外，如果要更新（更新插入）目标表中的现有记录，请选中该复选框。该表必须先存在，否则操作将失败。
   +  **合并** - AWS Glue 将根据您指定的条件更新数据或将数据附加到目标表。
**注意**  
 要在 AWS Glue 中使用合并操作，必须启用 Amazon Redshift 合并功能。有关如何为您的 Amazon Redshift 实例启用合并的说明，请参阅 [MERGE (preview)](https://docs.aws.amazon.com/redshift/latest/dg/r_MERGE.html)。

      选择选项：
     + **选择键和简单操作** - 选择要用作源数据和目标数据集之间匹配键的列。

       匹配时指定以下选项：
       + 使用源数据更新目标数据集中的记录。
       + 删除目标数据集中的记录。

       如果不匹配，请指定以下选项：
       + 将源数据作为新行插入目标数据集。
       + 不执行任何操作。
     + **输入自定义 MERGE 语句** - 然后，您可以选择**验证合并语句**来验证该语句是有效还是无效。
   +  **截断** - 如果表已经存在，请先清除目标表的内容，从而截断表数据。如果截断成功，则插入所有数据。如果表不存在，请创建表并插入所有数据。如果截断不成功，操作将失败。
   +  **丢弃** - 如果表已存在，则删除表的元数据和数据。如果删除成功，则插入所有数据。如果表不存在，请创建表并插入所有数据。如果丢失不成功，操作将失败。
   +  **创建** - 使用默认名称创建新表。如果表名已经存在，请创建一个名称后缀为 `job_datetime` 的新表以保持唯一性。这会将所有数据插入到新表中。如果该表存在，则最终的表名将附加后缀。如果该表不存在，则将创建一个表。无论哪种情况，都将创建一个新表。