

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

# MultiLoad 使用以下命令将脚本转换为 Amazon Redshift RSQL AWS Schema Conversion Tool
<a name="CHAP-converting-multiload-rsql"></a>

您可以使用 AWS SCT 将 Teradata MultiLoad 作业脚本转换为 Amazon Redshift RSQL。

*Teradata MultiLoad 作业脚本*是一组用于批量维护 Teradata 数据库的命令。Teradata MultiLoad 导入任务可对多达五个不同的表和视图执行多种不同的插入、更新和删除操作。Teradata MultiLoad 删除任务可以从单个表中删除大量行。

AWS SCT 将 Teradata MultiLoad 命令和 SQL 语句转换为与 Amazon Redshift RSQL 兼容的格式。将 Teradata 数据库迁移到 Amazon Redshift 后，使用这些转换后的脚本管理 Amazon Redshift 数据库中的数据。

**Topics**
+ [向 AWS SCT 项目添加 MultiLoad 作业脚本](#CHAP-converting-multiload-rsql-create)
+ [在 Teradata MultiLoad 作业脚本中使用配置替代变量 AWS SCT](#CHAP-converting-multiload-rsql-variables)
+ [使用以下命令转换 Teradata MultiLoad 作业脚本 AWS SCT](#CHAP-converting-multiload-rsql-convert)
+ [使用管理 Teradata MultiLoad 作业脚本 AWS SCT](#CHAP-converting-multiload-rsql-manage)
+ [使用以下命令为 Teradata MultiLoad 作业脚本转换创建评估报告 AWS SCT](#CHAP-converting-multiload-rsql-assessment)
+ [使用编辑和保存转换后的 Teradata MultiLoad 作业脚本 AWS SCT](#CHAP-converting-multiload-rsql-save)

## 向 AWS SCT 项目添加 MultiLoad 作业脚本
<a name="CHAP-converting-multiload-rsql-create"></a>

您可以向单个 AWS SCT 项目添加多个脚本。

**向 AWS SCT 项目添加 MultiLoad 作业脚本**

1. 在中创建新项目 AWS SCT 或打开现有项目。有关更多信息，请参阅 [在中启动和管理项目 AWS SCT](CHAP_UserInterface.Project.md)。

1. 从菜单中选择**添加源**，然后选择 **Teradata** 将源数据库添加到项目中。有关更多信息，请参阅 [Teradata 数据库](CHAP_Source.Teradata.md)。

1. 从菜单中选择 “**添加目标**”，然后将目标 Amazon Redshift 数据库添加到您的 AWS SCT 项目中。

   您可以使用虚拟的 Amazon Redshift 目标数据库平台。有关更多信息，请参阅 [在 AWS Schema Conversion Tool 中映射到虚拟目标](CHAP_Mapping.VirtualTargets.md)。

1. 创建新的映射规则，其中包括源 Teradata 数据库和 Amazon Redshift 目标。有关更多信息，请参阅 [在 AWS Schema Conversion Tool 中映射新的数据类型](CHAP_Mapping.New.md)。

1. 在**视图**菜单上，选择**主视图**。

1. 在左侧面板中，展开**脚本**节点。

1.  选择 **MultiLoad**，打开上下文（右键单击）菜单，然后选择 “**加载脚本**”。

1.  输入源 Teradata MultiLoad 作业脚本的位置，**然后**选择选择文件夹。

   AWS SCT 显示**加载脚本**窗口。

1. 请执行以下操作之一：
   + 如果您的 Teradata MultiLoad 作业脚本不包含替代变量，请选择 “**无替代变量**”，然后选择 “**确定”** 将脚本添加到 AWS SCT 项目中。
   + 如果您的 Teradata MultiLoad 作业脚本包含替代变量，请配置替代变量。有关更多信息，请参阅 [在 MultiLoad 作业脚本中配置替代变量](#CHAP-converting-multiload-rsql-variables)。

## 在 Teradata MultiLoad 作业脚本中使用配置替代变量 AWS SCT
<a name="CHAP-converting-multiload-rsql-variables"></a>

您的 Teradata MultiLoad 作业脚本可能包含替代变量。例如，您可以使用带有替代变量的单个脚本将数据加载到不同的数据库。

在使用替换变量运行 MultiLoad 作业脚本之前，请确保为所有变量分配值。为此，您可以使用其他工具或应用程序，例如 Bash 脚本、 UC4 (Automic) 等。

AWS SCT 只有在为替代变量赋值后才能解析和转换替代变量。在开始转换源 Teradata MultiLoad 作业脚本之前，请确保为所有替代变量分配了值。您可以使用 AWS SCT 在 Teradata 脚本中配置替代变量。

**在 MultiLoad 作业脚本中配置替代变量**

1. 将源 Teradata MultiLoad 作业脚本添加到 AWS SCT 项目中时，请选择使用**替代变量**。有关添加这些脚本的更多信息，请参阅 [向 AWS SCT 项目添加 MultiLoad 作业脚本](#CHAP-converting-multiload-rsql-create)。

1. 在**定义变量格式**中，输入与脚本中所有替代变量相匹配的正则表达式。

   例如，如果替代变量的名称以 `${` 开头且以 `}` 结尾，则使用 `\$\{\w+\}` 正则表达式。要匹配以美元符号或百分号开头的替代变量，请使用 `\$\w+|\%\w+` 正则表达式。

   中的正则表达式 AWS SCT 符合 Java 正则表达式语法。有关更多信息，请参阅 Java 文档中的 [java.util.regex 类模式](https://docs.oracle.com/javase/6/docs/api/java/util/regex/Pattern.html)。

1. 选择 “**确定”** 将脚本加载到 AWS SCT 项目中，然后选择 “**确定”** 关闭 “**加载脚本**” 窗口。

1. 选择**变量**可查看所有发现的替代变量及其值。

1. 在**值**中，输入替代变量的值。

## 使用以下命令转换 Teradata MultiLoad 作业脚本 AWS SCT
<a name="CHAP-converting-multiload-rsql-convert"></a>

接下来，了解如何使用将 Teradata MultiLoad 作业转换为 Amazon Redshift RSQL。 AWS SCT

**将 Teradata MultiLoad 作业脚本转换为 Amazon Redshift RSQL**

1. 将您的 MultiLoad 作业脚本添加到您的 AWS SCT 项目中。有关更多信息，请参阅 [向 AWS SCT 项目添加 MultiLoad 作业脚本](#CHAP-converting-multiload-rsql-create)。

1. 配置替代变量并输入其值。有关更多信息，请参阅 [在 MultiLoad 作业脚本中配置替代变量](#CHAP-converting-multiload-rsql-variables)。

1. 在左侧面板中，展开**脚本**节点。

1. 请执行以下操作之一：
   + 要转换单个 MultiLoad 作业脚本，请展开**MultiLoad**节点，选择要转换的脚本，然后从上下文（右键单击）菜单中选择 “**转换脚本**”。
   + 要转换多个脚本，请确保选择所有要转换的脚本。选择 **MultiLoad**，打开上下文（右键单击）菜单，然后选择 “**转换脚本**”。

1. 请执行以下操作之一：
   + 如果您将源数据文件存储在 Amazon S3 上，请选择**源数据文件位置**的 **S3 对象路径**。

     为源数据文件输入 **Amazon S3 存储桶文件夹**和**清单文件 Amazon S3 存储桶**的值。
   + 如果您未将源数据文件存储在 Amazon S3 上，请选择**源数据文件位置**中的**主机地址**。

     为源数据文件输入**主机的 URL 或 IP 地址**、**主机用户登录名**和**清单文件的 Amazon S3 存储桶**。

1. 选择**确定**。

   AWS SCT 将所有选定的 Teradata MultiLoad 作业脚本转换为与 Amazon Redshift RSQL 兼容的格式。在目标数据库面板的**脚本**节点中找到转换后的脚本。

1. 编辑转换后的 Amazon Redshift RSQL 脚本或将其保存。有关更多信息，请参阅 [编辑和保存转换后的 MultiLoad 作业脚本](#CHAP-converting-multiload-rsql-save)。

## 使用管理 Teradata MultiLoad 作业脚本 AWS SCT
<a name="CHAP-converting-multiload-rsql-manage"></a>

您可以添加多个 Teradata MultiLoad 作业脚本或从项目中移除 MultiLoad 作业脚本。 AWS SCT 

**向 AWS SCT 项目添加新的 MultiLoad 作业脚本**

1. 在左侧面板中，展开**脚本**节点。

1. 选择**MultiLoad**节点并打开上下文（右键单击）菜单。

1. 选择**加载脚本**。

1. 输入添加新 MultiLoad 作业脚本和配置替代变量所需的信息。有关更多信息，请参阅[向 AWS SCT 项目添加 MultiLoad 作业脚本](#CHAP-converting-multiload-rsql-create)和[在 MultiLoad 作业脚本中配置替代变量](#CHAP-converting-multiload-rsql-variables)。

**从 AWS SCT 项目中移除 MultiLoad 作业脚本**

1. 展开左侧面板中**脚本**下的**MultiLoad**节点。

1. 选择要删除的脚本，然后打开上下文 (右键单击) 菜单。

1. 选择**删除脚本**。

## 使用以下命令为 Teradata MultiLoad 作业脚本转换创建评估报告 AWS SCT
<a name="CHAP-converting-multiload-rsql-assessment"></a>

*MultiLoad 作业脚本转换评估报告*提供有关转换 MultiLoad 命令和 SQL 语句的信息。将源脚本转换为 Amazon Redshift RSQL 命令和 Amazon Redshift 的 SQL 语句。评估报告包括无法转换的 MultiLoad 命令和 SQL 语 AWS SCT 句的操作项目。

**为 Terad MultiLoad ata 作业创建脚本转换评估报告**

1. 展开左侧面板中**脚本**下的**MultiLoad**节点。

1. 选择要创建评估报告的脚本，打开上下文（右键单击）菜单，然后选择**创建报告**。

1. 查看**摘要**选项卡。“**摘要**” 选项卡显示 MultiLoad 作业脚本评估报告中的执行摘要信息。它包括源脚本中所有 MultiLoad 命令和 SQL 语句的转换结果。

1. （可选）将 MultiLoad 作业脚本转化评估报告的本地副本另存为 PDF 文件或逗号分隔值 (CSV) 文件：
   + 要将 MultiLoad 作业脚本转换评估报告另存为 PDF 文件，请选择右上角的 “**保存为 PDF**”。

      PDF 文件包含脚本转换执行摘要、操作项和建议。
   + 要将 MultiLoad 作业脚本转化评估报告另存为 CSV 文件，请选择右上角的 “**保存到 CSV**”。

     AWS SCT 创建两个 CSV 文件。这些文件包含执行摘要、操作项目、推荐的操作以及转换脚本所需的估计人工操作的复杂性。

1. 选择**操作项**选项卡。此选项卡包含需要手动转换为 Amazon Redshift RSQL 的项目列表。从列表中选择措施项时，会 AWS SCT 突出显示源 MultiLoad 作业脚本中该措施项所应用的项目。

## 使用编辑和保存转换后的 Teradata MultiLoad 作业脚本 AWS SCT
<a name="CHAP-converting-multiload-rsql-save"></a>

您可以在 AWS SCT 项目的下部面板中编辑转换后的脚本。 AWS SCT 将编辑后的脚本存储为项目的一部分。

**保存转换后的脚本**

1. 展开目标数据库面板中**脚本**下的 **RSQL 脚本**节点。

1. 选择转换后的脚本，打开上下文（右键单击）菜单，然后选择**保存脚本**。

1. 输入用于保存转换后的脚本的文件夹路径，然后选择**保存**。

   AWS SCT 将转换后的脚本保存到文件中并打开此文件。