用 AWS SCT 将 SSIS 转换为 AWS Glue - AWS Schema Conversion Tool

用 AWS SCT 将 SSIS 转换为 AWS Glue

接下来,您可以找到如何使用 AWS SCT 将 Microsoft SQL Server Integration Services (SSIS) 包转换为 AWS Glue。

要将 Microsoft SSIS 包转换为 AWS Glue,请确保使用 AWS SCT 版本 1.0.642 或更高版本。您还需要有一个 SSIS 项目,其中包含 ETL 包 — 本地文件夹中的 .dtsx.conmgr.params 文件。

您不需要安装 SSIS 服务器。通过本地 SSIS 文件进行转换过程。

使用 AWS SCT 将 SSIS 包转换为 AWS Glue
  1. 在 AWS SCT 中创建新项目,或打开现有项目。有关更多信息,请参阅 在 AWS SCT 中启动和管理项目

  2. 在菜单上选择添加源,将新的源 SSIS 包添加到您的项目中。

  3. 选择 SQL Server Integration Services 并完成以下操作:

    • 连接名称:输入连接的名称。AWS SCT 在元数据树中显示此名称。

    • SSIS 包文件夹:选择包含包的 SSIS 项目文件夹的路径。

    AWS SCT 从本地文件夹读取项目文件(扩展名 .dtsx.conmgr.params 的文件)并对其进行解析。然后,它会将它们组织成 AWS SCT 类别树。

  4. 从菜单中选择添加目标以添加新的目标平台,从而转换源 SSIS 包。

  5. 选择 AWS Glue 并完成以下操作:

    • 连接名称:输入连接的名称。AWS SCT 在元数据树中显示此名称。

    • 从 AWS 配置文件复制:选择要使用的配置文件。

    • AWS 访问密钥:输入您的 AWS 访问密钥。

    • AWS 私有密钥:输入您的 AWS 私有密钥。

    • 区域:从列表中选择要使用的 AWS 区域。

    • Amazon S3 存储桶文件夹:输入您计划使用的 Amazon S3 存储桶的文件夹路径。

    您可以使用虚拟 AWS Glue 目标。在这种情况下,不需要指定连接凭证。有关更多信息,请参阅 在 AWS Schema Conversion Tool 中映射到虚拟目标

  6. 创建新的映射规则,其中包含源 SSIS 包和 AWS Glue 目标。有关更多信息,请参阅 在 AWS Schema Conversion Tool 中映射新的数据类型

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

  8. 在 SSIS 树视图中,打开连接管理器的上下文(右键单击)菜单,然后选择配置连接

  9. 配置项目连接管理器。

    要为 SSIS 连接管理器配置连接映射,请为相应的 SSIS 连接管理器指定 AWS Glue 连接。确保您已创建 AWS Glue 连接。

    1. 连接下,选择项目连接

    2. 对于 Glue 目录连接,请选择相应的 AWS Glue 连接。

  10. 配置包连接管理器:

    1. 连接下,选择包。

    2. 对于 Glue 目录连接,请选择相应的 AWS Glue 连接。

    3. 对包可用的所有连接重复这些操作。

  11. 选择应用

  12. 转换包。在源树视图中,找到。打开包的上下文(右键单击)菜单,然后选择转换包

  13. 将转换后的脚本保存到 Amazon S3。在目标树视图中,找到包脚本。打开转换后的脚本的上下文(右键单击)菜单,然后选择保存到 S3

  14. 配置 AWS Glue 作业。在目标树视图中,找到包脚本。打开转换后的脚本的上下文(右键单击)菜单,然后选择配置 AWS Glue 作业

  15. 完成三个配置部分。

    1. 完成设计数据流部分:

      • 执行策略:选择作业将如何运行 ETL 脚本。选择 SEQUENTIAL,按向导中指定的顺序运行脚本。选择 PARALLEL 并行运行脚本,而不考虑向导中指定的顺序。

      • 脚本:选择转换后的脚本的名称。

      • 选择下一步

    2. 完成作业属性部分:

      • 名称:输入 AWS Glue 作业的名称。

      • IAM 角色:选择用于运行作业和访问数据存储的资源进行授权的 IAM 角色。

      • 脚本文件名:输入转换后的脚本的名称。

      • 脚本文件 S3 路径:输入转换后的脚本的 Amazon S3 路径。

      • 使用 SSE-S3 加密脚本:选择此选项以使用采用 Amazon S3 托管式加密密钥的服务器端加密(SSE-S3)保护数据。

      • 临时目录:输入临时目录的 Amazon S3 路径以获得中间结果。AWS Glue 和 AWS Glue 内置转换则使用此目录读取或写入 Amazon Redshift。

      • AWS SCT 会自动生成 Python 库的路径。您可以在生成的 python 库路径中查看此路径。您不能编辑这个自动生成的路径。要使用其他 Python 库,请在用户 python 库路径中输入路径。

      • 用户 python 库路径:输入其他用户 Python 库的路径。使用逗号分隔 Amazon S3 路径。

      • 从属 JAR 路径:输入从属 JAR 文件的路径。使用逗号分隔 Amazon S3 路径。

      • 引用文件路径:输入脚本所需的其他文件(例如配置文件)的路径。使用逗号分隔 Amazon S3 路径。

      • 最大容量:输入此作业运行时可分配的 AWS Glue 数据处理单元 (DPU) 的最大数量。可以输入 2 到 100 的任何整数。默认值为 2。

      • 最大并发:输入此作业允许的并发运行的最大数量。默认值是 1。达到此阈值时,AWS Glue 将返回一个错误。

      • 作业超时(分钟):输入 ETL 作业的超时值,以防作业失控。批处理作业的默认值为 2880 分钟(48 小时)。当作业执行时间超过此限制时,作业运行状态更改为 TIMEOUT

      • 延迟通知阈值(分钟):输入 AWS SCT 发送延迟通知之前的阈值(以分钟为单位)。

      • 重试次数:输入在失败时 AWS Glue 自动重新启动作业的次数(0–10)。达到超时限制的作业不会重新启动。默认值是 0。

      • 选择下一步

    3. 配置所需的连接:

      1. 所有连接中,选择所需的 AWS Glue 连接并将其添加到选定连接列表中。

      2. 选择完成

  16. 创建已配置的 AWS Glue 作业。在目标树视图中,查找并展开 ETL 作业。打开您配置的 ETL 作业的上下文(右键单击)菜单,然后选择创建 AWS Glue 作业

  17. 运行 AWS Glue 作业:

    1. 通过 https://console.aws.amazon.com/glue/ 打开 AWS Glue 控制台。

    2. 在导航窗格中,选择作业

    3. 选择添加作业,然后选择要运行的作业。

    4. 操作选项卡上,选择运行作业

AWS SCT 可以转换为 AWS Glue 的 SSIS 组件

您可以使用 AWS SCT 转换数据流和控制流组件以及容器、参数和变量。

支持的数据流组件包括:

  • ADO NET 目的地

  • ADO NET 源

  • 聚合

  • 缓存转换

  • 字符映射转换

  • 条件拆分转换

  • 复制列转换

  • 数据转换的转换

  • 派生列转换

  • Excel 目的地

  • Excel 源

  • 导出列转换

  • 平面文件目的地

  • 平面文件源

  • 模糊查找转换

  • 导入列转换

  • 查找转换

  • 合并联接转换

  • 合并转换

  • 组播转换

  • ODBC 目的地

  • ODBC 源

  • OLE 数据库命令转换

  • OLE 数据库目标

  • OLE DB 源

  • 百分比抽样转换

  • 转置转换

  • 原始文件目的地

  • 原始文件源

  • RecordSet 目的地

  • 行数转换

  • 行采样转换

  • 排序转换

  • SQL Server 目的地

  • Union All 转换

  • 反转置转换

  • XML 源

支持的控制流组件包括:

  • 批量插入任务

  • 执行包任务

  • 执行 SQL 任务

  • 执行 T-SQL 语句任务

  • 表达式任务

  • 文件系统任务

  • 通知操作员任务

  • 发送邮件任务

支持的 SSIS 容器包括:

  • For 循环容器

  • Foreach 循环容器

  • 顺序容器