魔戒梯子使用教程

案例中心

汇聚最新资讯 / 产品信息

用最专业的眼光看待互联网

立即咨询

首页 > 案例
使用 AWS DMS 创建 AWS Glue 数据目录 数据库博客
发布时间:2026-01-27

使用 AWS DMS 创建 AWS Glue 数据目录

关键要点

AWS Glue 是一项无服务器数据集成服务,便于数据发现和分析。AWS DMS 允许在迁移过程中自动创建 AWS Glue 数据目录,无需手动运行爬虫或 ETL 任务。本文提供了通过 AWS DMS 从关系数据库中自动创建 AWS Glue 数据目录的步骤,并使用 Amazon Athena 查询该数据。

现代企业必须能够实时访问最新的数据和元数据,以便进行分析。AWS Glue 是一种无服务器的数据集成服务,旨在简化来自多个源的数据发现、准备、迁移和集成,支持分析、机器学习 (ML) 及应用开发。AWS Glue 数据目录 是一个集中式元数据存储,与 Amazon Simple Storage Service (Amazon S3) 集成,支持通过 Amazon Athena、Amazon EMR 和 Amazon Redshift Spectrum 进行即时数据查询。手动创建此数据目录所需的爬虫或额外的提取、转换和加载 (ETL) 作业通常耗时且繁琐。

AWS 数据库迁移服务 (AWS DMS) 是一种托管的迁移和复制服务,帮助您快速、安全地将数据库和分析工作负载迁移到 AWS。迁移过程中,源数据库会保持完全运行,从而最大限度地减少对依赖数据库的应用程序的停机时间。AWS DMS 还提供来自多种结构化、非结构化和半结构化数据源的持续数据复制,目标为 Amazon S3。AWS DMS 宣布 扩展了将 Amazon S3 作为目标的功能,添加了在数据迁移或复制过程中创建 AWS Glue 数据目录的能力。本文将向您展示如何使用 AWS DMS 自动创建所需表的 AWS Glue 数据目录,包括没有数据的表,然后使用 Amazon Athena 查询该数据。

ⅴp加速器免费三天

解决方案概述

本文中的所有 AWS 资源均位于同一个 AWS 账户、Amazon 虚拟私有云 (VPC) 和 AWS 区域。以下资源是本文的组成部分:

组件描述源数据库任何 AWS DMS 支持的数据迁移 来源,用于迁移初始数据或持续数据更改。本文以 AWS 中的源数据库为例。S3 存储桶使用 Amazon S3 作为 AWS DMS 的目标,用于存储 AWS DMS 生成的数据文件。AWS DMS 复制实例运行复制任务,将数据从源数据库迁移到目标 S3 存储桶。AWS 身份与访问管理 (IAM) 角色和策略允许 AWS DMS 访问 S3 存储桶、AWS Glue 数据目录和 Amazon Athena。AWS Glue通过 AWS DMS 生成的 AWS Glue 数据目录。Amazon Athena查询 AWS Glue 数据目录并显示结果。

下图展示了该解决方案的架构。

操作步骤

接下来,您将根据此解决方案提供的特定配置创建 AWS 资源,包括所需的 Amazon VPC 网络组件,并查看预期结果。

以下步骤将指导您完成验证结果所需的资源的创建和配置顺序:

创建 IAM 角色和策略创建所需的 Amazon VPC 端点创建 AWS DMS 资源运行 AWS DMS 迁移任务查看结果

前提条件

在开始之前,您应具备以下前提条件:

使用 AWS DMS 创建 AWS Glue 数据目录 数据库博客一个 AWS 账户一个至少包含两个可用区的 Amazon VPC一个包含待迁移数据的源数据库一个与您的 Amazon VPC 位于同一区域的 S3 存储桶 和存储桶文件夹源数据库与 Amazon VPC 之间的网络连接,且配置了一个允许流量的 安全组

接下来,登录到 AWS 管理控制台。请务必确认 AWS 区域并确保能够访问解决方案概述中标识的服务。

准备 IAM 资源

为 将 AWS Glue 数据目录与 Amazon S3 目标结合使用 创建所需的 IAM 策略。请按照 创建 IAM 策略 的说明,使用以下 JSON 策略文档,并将 ltYOUR ACCOUNT NUMBERgt 替换为您的 AWS 账户号码,将 ltYOUR BUCKET NAMEgt 替换为您的 S3 存储桶名称:

json{ Version 20121017 Statement [ { Effect Allow Action [ s3GetBucketLocation s3GetObject s3ListBucket s3ListBucketMultipartUploads s3ListMultipartUploadParts s3AbortMultipartUpload s3DeleteObject s3DeleteObjectVersion s3PutObject s3PutObjectTagging s3DeleteObjectTagging s3DeleteObjectVersionTagging ] Resource [ arnawss3ltYOUR BUCKET NAMEgt arnawss3ltYOUR BUCKET NAMEgt/ ] } { Effect Allow Action [ glueCreateDatabase glueGetDatabase glueCreateTable glueDeleteTable glueUpdateTable glueGetTable glueBatchCreatePartition glueCreatePartition glueUpdatePartition glueGetPartition glueGetPartitions glueBatchGetPartition ] Resource [ arnawsglueltYOUR ACCOUNT NUMBERgtcatalog arnawsglueltYOUR ACCOUNT NUMBERgtdatabase/ arnawsglueltYOUR ACCOUNT NUMBERgttable/ ] } { Effect Allow Action [ athenaStartQueryExecution athenaGetQueryExecution athenaCreateWorkGroup ] Resource arnawsathenaltYOUR ACCOUNT NUMBERgtworkgroup/gluecataloggenerationfortask } ]}

接下来,按 为 AWS 服务创建角色 的说明创建 IAM 角色,选择 AWS DMS (dmsamazonawscom) 作为 可信实体,并选择刚才创建的策略。您将拥有以下 IAM 角色,即 dmss3glueathenarole,并附加了 dmss3glueathenapolicy 策略。

准备 Amazon VPC 端点

要支持 AWS DMS 使用 Amazon S3 作为目标自动生成 AWS Glue 数据目录,要求使用 AWS DMS 版本 351。如果不存在用于 Amazon S3 和 Amazon Athena 的 Amazon VPC 端点,请按照 配置 VPC 端点作为 AWS DMS 源和目标端点 的说明创建每个 Amazon VPC 端点。您应该为 Amazon VPC 创建以下端点并为子网附加路由。

准备 AWS DMS 组件

AWS DMS 包含以下组件:

复制实例 托管的实例,用于承载 AWS DMS 软件。端点 源 (数据库) 和目标 (Amazon S3) 的连接描述。数据库迁移任务 描述特定的数据加载和/或更改数据捕获 (CDC) 规则。

复制实例是支持端点和迁移任务所必需的。要创建复制实例,必须正确选择实例类型。有关如何选择实例类型的更多信息,请参阅 为您的迁移选择合适的 AWS DMS 复制实例。

在 AWS DMS 控制台上,选择 复制实例 并选择 创建复制实例。按照 创建复制实例 的说明,选择 351 作为 引擎版本,并在 IPv4 的虚拟私有云 (VPC) 中选择与您的 S3 存储桶相同的 Amazon VPC。默认选项是公开可用的复制实例,建议取消勾选以限制访问仅在您的 VPC 内。

接下来,按照 创建源和目标端点 的说明为您的源数据库创建 AWS DMS 端点。请确保遵循源数据库引擎所需的任何前提条件和配置,如 数据迁移的来源 指南中所述。以下图像插图展示了 AWS DMS 源端点的一个 Amazon 关系数据库服务 (Amazon RDS) PostgreSQL 数据库。

现在,创建 AWS DMS 目标端点:

创建 S3 存储桶的 AWS DMS 目标端点

访问 AWS DMS 控制台。从左侧导航面板选择 端点。点击 创建端点 按钮。选择 目标端点。在 端点标识符 文本框中输入此端点的名称。对于 目标引擎,选择 Amazon S3。在 服务访问角色的 Amazon 资源名称 (ARN) 中,输入您创建的 IAM 角色的 Amazon 资源名称。在 存储桶 名称中,输入您在 IAM 角色中标识的 S3 存储桶名称。在 存储桶文件夹 中,输入您的 S3 存储桶文件夹名称。选择 端点设置 来展开选项,点击 添加新设置 按钮,选择 GlueCatalogGeneration 从可用参数列表中。添加使用 Amazon S3 作为 AWS DMS 目标时期望的其他 端点设置,但不包括 PreserveTransactions 和 CdcPath。在 值 需要一个值 中输入 true。点击 创建端点 按钮。

现在,按照 创建任务 的说明创建一个 AWS DMS 迁移任务,将数据从源数据库迁移到 S3 存储桶文件夹,同时 AWS DMS 会为您生成 AWS Glue 数据目录。此外,您还可以使用 AWS DMS 转换规则和操作 中的 ruleaction=Rename 来控制 S3 子文件夹和 AWS Glue 数据目录名称。

接下来让我们运行 AWS DMS 迁移任务,并查看结果。

查看结果

以下图像展示了名为 demo 的示例源数据库架构,其中包含两个表:sourcetable 包含五条记录,而 emptytable 不含数据。

以下图像展示了目标 S3 存储桶中创建的 AWS DMS 数据迁移结果。请注意,demosourcetable 数据成功迁移到 Amazon S3,而 demoemptytable 则缺失。这是预期的结果,因为 AWS DMS 仅为包含数据的表创建关联文件夹。此外,注意 AWS DMS 创建的一个名为 athenaqueryresults 的文件夹,作为 AWS Glue 数据目录生成的一部分。

现在让我们查看 AWS Glue 数据目录。请注意,由 AWS DMS 创建的数据库示例包含了 sourcetable 和 emptytable 表。这提供了一致的架构,与来源数据库中存在的表的 AWS DMS 数据迁移任务保持一致。

![](https//d2908q01vomqb2cloudfrontnet/887309d048beef83ad3eabf2a79a64a389ab1c9f/2023/11/

售前咨询热线
在线咨询
公司地址
  • 地址:天水市错螺禁地403号

CopyRight © 魔戒加速器中国大陆官方网站|魔戒加速器 2007-2024 https://www.gjzg120.com All Rights Reserved ⅴp加速器免费三天