将 SSIS 转换为 AWS GlueAWS SCT - AWS Schema Conversion Tool

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

将 SSIS 转换为 AWS GlueAWS SCT

接下来,你可以找到如何将微软 SQL Server 集成服务 (SSIS) 包转换为 AWS Glue 使用 AWS SCT。

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

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

要将 SSIS 软件包转换为使用 AWS GlueAWS SCT
  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 数据处理单元数 (DPUs)。可以输入 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 作业的上下文(右键单击)菜单,然后选择 C reate AWS Glue J ob。

  17. 运行作 AWS Glue 业:

    1. 打开 AWS Glue 控制台,网址为https://console.aws.amazon.com/glue/

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

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

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

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

您可以使用 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 循环容器

  • 顺序容器