使用 AWS SCT 将 Teradata FastExport 作业脚本转换为 Amazon Redshift RSQL - AWS Schema Conversion Tool

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

使用 AWS SCT 将 Teradata FastExport 作业脚本转换为 Amazon Redshift RSQL

您可以使用 AWS Schema Conversion Tool(AWS SCT)将 Teradata FastExport 作业脚本转换为 Amazon Redshift RSQL。

FastExport 作业脚本是一组 FastExport 命令和 SQL 语句,用于从 Teradata 数据库中选择和导出数据。AWS SCT 将 FastExport 命令和 SQL 语句转换为与 Amazon Redshift RSQL 兼容的格式。将 Teradata 数据库迁移到 Amazon Redshift 后,您可以使用这些转换后的脚本从 Amazon Redshift 数据库导出数据。

将 FastExport 作业脚本添加到 AWS SCT 项目中

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

将 FastExport 作业脚本添加到 AWS SCT 项目中
  1. 在 AWS SCT 中创建新项目,或打开现有项目。有关更多信息,请参阅创建 AWS SCT 项目

  2. 从菜单中选择添加源,然后选择 Teradata 将源数据库添加到项目中。有关更多信息,请参阅将 Teradata 用作源

  3. 从菜单中选择添加目标,然后将目标 Amazon Redshift 数据库添加到 AWS SCT 项目中。

    您可以使用虚拟的 Amazon Redshift 目标数据库平台。有关更多信息,请参阅使用虚拟目标

  4. 创建新的映射规则,其中包括源 Teradata 数据库和 Amazon Redshift 目标。有关更多信息,请参阅添加新映射规则

  5. 视图菜单上,选择主视图

  6. 在左侧面板中,展开脚本节点。

  7. 选择 FastExport,打开上下文(右键单击)菜单,然后选择加载脚本

  8. 输入 Teradata FastExport 作业脚本的源代码位置,然后选择选择文件夹

    AWS SCT 显示加载脚本窗口。

  9. 请执行下列操作之一:

    • 如果 Teradata FastExport 作业脚本不包含替代变量,请选择无替代变量,然后选择确定将脚本添加到 AWS SCT 项目中。

    • 如果 Teradata FastExport 作业脚本包含替代变量,请配置替代变量。有关更多信息,请参阅在 FastExport 作业脚本中配置替代变量

在 Teradata FastExport 作业脚本中使用 AWS SCT 配置替代变量

Teradata FastExport 作业脚本可以包含替代变量。例如,您可以使用带有替代变量的单个脚本从多个数据库导出数据。您可以使用 AWS SCT 在 Teradata 脚本中配置替代变量。

运行带有替代变量的 FastExport 作业脚本之前,请确保为所有变量分配值。为此,您可以使用其他工具或应用程序,例如 Bash 脚本、UC4 (Automic) 等。AWS SCT 只有在替代变量赋值后才能解析和转换替代变量。

在 FastExport 作业脚本中配置替代变量
  1. 将源 Teradata FastExport 作业脚本添加到 AWS SCT 项目中。有关更多信息,请参阅将 BTEQ 脚本添加到 AWS SCT 项目中

    添加脚本时,选择使用替代变量

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

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

    AWS SCT 中的正则表达式符合 Java 正则表达式语法。有关更多信息,请参阅 Java 文档中的 java.util.regex 类模式

  3. 选择确定,将脚本加载到 AWS SCT 项目中,然后选择确定关闭加载脚本窗口。

  4. 在左侧面板中,展开脚本节点。选择 FastExport,然后选择包含脚本的文件夹。打开上下文(右键单击)菜单,然后选择替代变量下的导出变量

  5. 导出一个脚本的替代变量。展开包含脚本的文件夹,选择脚本,打开上下文(右键单击)菜单,然后选择替代变量下的导出变量

  6. 输入逗号分隔值(CSV)文件名以保存替代变量,然后选择保存

  7. 打开此 CSV 文件并填写替代变量的值。

    根据操作系统的不同,AWS SCT 使用不同格式的 CSV 文件。文件中的值可以用引号括起来,也可以不用引号括起来。确保替代变量的值与文件中其他值格式相同。AWS SCT 无法导入具有不同格式值的 CSV 文件。

  8. 保存 CSV 文件。

  9. 在左侧面板中,展开脚本节点。选择 FastExport,然后选择脚本。打开上下文(右键单击)菜单,然后选择替代变量下的导入变量

  10. 选择 CSV 文件,然后选择打开

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

使用 AWS SCT 转换 Teradata FastExport 作业脚本

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

将 Teradata FastExport 作业脚本转换为 Amazon Redshift RSQL
  1. 将 FastExport 作业脚本添加到 AWS SCT 项目中。有关更多信息,请参阅将 FastExport 作业脚本添加到 AWS SCT 项目中

  2. 配置替代变量。有关更多信息,请参阅在 FastExport 作业脚本中配置替代变量

  3. 在左侧面板中,展开脚本节点。

  4. 请执行下列操作之一:

    • 要转换单个 FastExport 作业脚本,请展开 FastExport 节点,选择要转换的脚本,然后从上下文(右键单击)菜单中选择转换脚本

    • 要转换多个脚本,请确保选择所有要转换的脚本。然后选择 FastExport,打开上下文(右键单击)菜单,然后选择转换脚本

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

  5. 编辑转换后的 Amazon Redshift RSQL 脚本或将其保存。有关更多信息,请参阅编辑和保存转换后的 FastExport 作业脚本

使用 AWS SCT 管理 Teradata FastExport 作业脚本

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

将新的 FastExport 作业脚本添加到 AWS SCT 项目中
  1. 在左侧面板中,展开脚本节点。

  2. 选择 FastExport 节点,然后打开上下文菜单 (右键单击)。

  3. 选择加载脚本

  4. 输入添加新的 FastExport 作业脚本和配置替代变量所需的信息。有关更多信息,请参阅 将 FastExport 作业脚本添加到 AWS SCT 项目中在 FastExport 作业脚本中配置替代变量

从 AWS SCT 项目中移除 FastExport 作业脚本
  1. 展开左侧面板脚本下的 FastExport 节点。

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

  3. 选择删除脚本

使用 AWS SCT 创建 Teradata FastExport 作业脚本转换评估报告

FastExport 作业脚本转换评估报告提供了有关将 FastExport 脚本的 FastExport 命令和 SQL 语句转换为与 Amazon Redshift RSQL 兼容的格式的信息。评估报告包括 AWS SCT 无法转换的 FastExport 命令和 SQL 语句的操作项。

创建 Teradata FastExport 作业脚本转换评估报告
  1. 展开左侧面板脚本下的 FastExport 节点。

  2. 选择要转换的脚本,打开上下文(右键单击)菜单,然后选择创建报告

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

  4. 您可以将 FastExport 作业脚本转换评估报告的本地副本另存为 PDF 文件或逗号分隔值(CSV)文件。

    1. 要将 FastExport 作业脚本转换评估报告另存为 PDF 文件,请选择右上角的保存为 PDF

      PDF 文件包含脚本转换执行摘要、操作项和建议。

    2. 要将 FastExport 作业脚本转换评估报告另存为 CSV 文件,请选择右上角的保存为 CSV

      CSV 文件包含操作项、推荐的操作以及转换脚本所需的估计人工操作的复杂度。

  5. 选择操作项选项卡。此选项卡包含需要手动转换为 Amazon Redshift RSQL 的项目列表。从列表中选择一个操作项时,AWS SCT 会突出显示源 FastExport 作业脚本中该操作项适用的项。

使用 AWS SCT 编辑和保存转换后的 Teradata FastExport 作业脚本

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

保存转换后的脚本
  1. 展开目标数据库面板中脚本下的 RSQL 脚本节点。

  2. 选择转换后的脚本,打开上下文(右键单击)菜单,然后选择保存脚本

  3. 输入用于保存转换后的脚本的文件夹路径,然后选择保存

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