一般性问题

问:什么是 Amazon Glue?

Amazon Glue 是一项完全托管且按需付费的提取、转换和加载 (ETL) 服务,可自动执行耗时的分析数据准备步骤。Amazon Glue 通过 Glue 数据目录自动发现和配置数据,推荐并生成 ETL 代码以将源数据转换为目标 Schema,并在完全托管且横向扩展的 Apache Spark 环境中运行 ETL 作业以将数据加载到其目标中。它还允许您设置、编排和监控复杂的数据流。

问:如何开始使用 Amazon Glue?

要开始使用 Amazon Glue,只需登录 亚马逊云科技管理控制台,然后导航至“分析”类别下的“Glue”。您可以按照我们的某个指导教程进行操作,这些教程将引导您完成 Amazon Glue 的示例使用案例。您还可以在 亚马逊云科技实验室下的 GitHub 存储库中找到示例 ETL 代码。

问:Amazon Glue 的主要组件有哪些?

Amazon Glue 包含数据目录(中心元数据存储库)、ETL 引擎(可以自动生成 Scala 或 Python 代码)以及灵活的调度程序(处理依赖关系解析、作业监控和重试)。这些组件共同实现了大量无差别繁重工作的自动化,包括发现、分类、清理、丰富和移动数据,因此您可以有更多时间来分析数据。

问:应该何时使用 Amazon Glue?

您应该使用 Amazon Glue 来发现您拥有的数据的属性,对其进行转换,并为其做好分析准备。Glue 可以自动发现存储在以下位置的结构化和半结构化数据:Amazon S3 上的数据湖、Amazon Redshift 中的数据仓库以及 亚马逊云科技上运行的各种数据库。它通过适用于 ETL 的 Glue 数据目录提供统一数据视图,并使用 Amazon EMRAmazon Redshift Spectrum 等服务进行查询和报告。Glue 会自动为您的 ETL 作业生成 Scala 或 Python 代码,这样您就可以使用熟悉的工具进一步进行自定义。Amazon Glue 属于无服务器服务,因此您无需配置和管理计算资源。

问:Amazon Glue 支持哪些数据源?

Amazon Glue 原生支持存储在以下位置的数据:Amazon AuroraAmazon RedshiftAmazon S3 以及在 Amazon EC2 上运行的 Virtual Private Cloud (Amazon VPC) 中的 MySQL、Oracle、Microsoft SQL Server 和 PostgreSQL 数据库。您可以从 Amazon EMRAmazon Redshift Spectrum 轻松访问存储在 Amazon Glue 数据目录中的元数据。您还可以编写自定义 Scala 或 Python 代码,并将自定义库和 Jar 文件导入 Glue ETL 作业中,以访问 Amazon Glue 原生不支持的数据源。有关导入自定义库的更多详细信息,请参阅我们的文档

Amazon Glue 数据目录

问:什么是 Amazon Glue 数据目录?

Amazon Glue 数据目录是一个中心存储库,用于存储所有数据资产的结构和操作元数据。对于给定的数据集,您可以存储其表定义和物理位置、添加业务相关属性以及跟踪这些数据随时间的变化情况。

Amazon Glue 数据目录与 Apache Hive Metastore 兼容,可以临时替代适用于在 Amazon EMR 上运行的大数据应用程序的 Apache Hive Metastore。有关设置 EMR 集群以将 Amazon Glue 数据目录用作 Apache Hive Metastore 的更多信息,请单击此处

Amazon Glue 数据目录还提供与 Amazon EMRAmazon Redshift Spectrum 的即用集成。在添加到 Glue 数据目录之后,表定义可以立即用于 ETL,还能用于在 Amazon EMR 和 Amazon Redshift Spectrum 中进行查询,这样您就可以在这些服务之间拥有统一数据视图。

问:如何将我的元数据放入 Amazon Glue 数据目录?

Amazon Glue 提供了多种将元数据填充到 Amazon Glue 数据目录中的方法。Glue 抓取程序会扫描您拥有的各种数据存储,以自动推断 Schema 和分区结构,并使用相应的表定义和统计信息来填充 Glue 数据目录。您还可以安排抓取程序定期运行,让您的元数据始终保持最新并与底层数据同步。或者,您可以使用 Amazon Glue 控制台或调用 API 来手动添加和更新表详细信息。您还可以通过 Amazon EMR 集群上的 Hive 客户端运行 Hive DDL 语句。最后,如果您已拥有持久性 Apache Hive Metastore,可以使用我们的导入脚本将元数据批量导入 Amazon Glue 数据目录中。

问:什么是 Amazon Glue 抓取程序?

Amazon Glue 抓取程序可以连接到数据存储,按分类器的优先级列表逐个抓取来提取数据的 Schema 和其他统计信息,然后使用这些元数据来填充 Glue 数据目录。抓取程序可以定期运行以检测新数据的可用性以及对现有数据的更改,包括对表定义的更改。抓取程序会自动将新表、新分区添加到现有表以及新版本的表定义。您可以自定义 Glue 抓取程序,以对自己的文件类型进行分类。

问:如何将现有 Apache Hive Metastore 中的数据导入 Amazon Glue 数据目录?

您只需运行从 Apache Hive Metastore 读取的 ETL 作业,在 Amazon S3 中将数据导出为中间格式,然后将这些数据导入 Amazon Glue 数据目录。

问:如果将元数据存储在 Amazon Glue 数据目录中,是否需要维护 Apache Hive Metastore?

不需要。Amazon Glue 数据目录与 Apache Hive Metastore 兼容。您可以指向 Glue 数据目录终端节点并用其来替代 Apache Hive Metastore。有关如何配置集群以将 Amazon Glue 数据目录用作 Apache Hive Metastore 的更多信息,请阅读此处的文档。

Amazon Glue Schema Registry

问:什么是 Amazon Glue Schema Registry?

Amazon Glue Schema RegistryAmazon Glue 的一项无服务器功能,让您能够使用在 Apache Avro 中注册的架构和 JSON 架构数据格式验证和控制流式传输数据的演变,而无需额外付费。通过 Apache 许可的序列化器和反序列化器,Schema Registry 与为 Apache Kafka、Amazon Managed Streaming for Apache Kafka (MSK)Amazon Kinesis Data Streams、Apache Flink、Amazon Kinesis Data Analytics for Apache FlinkAmazon Lambda 开发的 Java 应用程序相集成。当数据流应用程序与 Schema Registry 集成时,您可以使用管理架构演变的兼容性检查来提高数据质量并防止意外更改。此外,您还可以使用存储在注册表中的 Apache Avro 架构创建或更新 Amazon Glue 表和分区。

问:为什么我应该使用 Amazon Glue Schema Registry?

使用 Amazon Glue Schema Registry,您可以:

  1. 验证架构。当数据流应用程序与 Amazon Glue Schema Registry 集成时,将根据中心注册表中的架构验证用于数据生产的架构,从而允许您集中控制数据质量。
  2. 保护架构发展。您可以使用八种兼容性模式中的一种来设置关于架构能和不能发展的规则。
  3. 提高数据质量。序列化器可以根据存储在注册表中的架构验证数据生产者使用的架构,从而提高数据生成时的质量,并减少意外架构漂移造成的停机。
  4. 节省成本。序列化器将数据转换为二进制格式,并可以在交付之前对数据进行压缩,从而降低数据传输和存储成本。
  5. 提高处理效率。在许多情况下,数据流包含不同架构的记录。Schema Registry 使从数据流中读取数据的应用程序能够根据架构选择性地处理每条记录,而无需解析其内容,从而提高了处理效率。

问:Amazon Glue Schema Registry 支持哪些数据格式、客户端语言和集成?

Schema Registry 支持 Apache Avro 和 JSON 架构数据格式,以及 Java 客户端应用程序。我们计划继续扩大对其他数据格式和非 Java 客户端的支持。Schema Registry 与为 Apache Kafka、Amazon Managed Streaming for Apache Kafka (MSK)Amazon Kinesis Data Streams、Apache Flink、Amazon Kinesis Data Analytics for Apache FlinkAmazon Lambda 开发的应用程序相集成。

问:Amazon Glue Schema Registry 支持哪些类型的演变规则?

您可以使用以下兼容性模式来管理架构演变:向后、全部向后、向前、全部向前、完全、全部完全、无和禁用。请访问 Schema Registry 用户文档,以了解有关兼容性规则的更多信息。

问:Amazon Glue Schema Registry 如何保持我的应用程序的高可用性?

Schema Registry 存储和控制平面旨在实现高可用性,并受 Amazon Glue SLA 的支持,序列化器和反序列化器利用最佳实践缓存技术来最大限度地提高客户端内的架构可用性。

问:Amazon Glue Schema Registry 是开源的吗?

Amazon Glue Schema Registry 存储是一项 Amazon Web Services 服务,而序列化器和反序列化器是获得 APACHE 许可的开源组件。

问:Amazon Glue Schema Registry 是否提供静态加密和传输中加密?

是,您的客户端通过 API 调用与 Schema Registry 进行通信,该调用使用 HTTPS 上的 TLS 加密来加密传输中的数据。存储在 Schema Registry 中的架构始终使用服务托管的 KMS 密钥进行静态加密。

问:如何私下连接到 Amazon Glue Schema Registry?

您可以通过为 Amazon Glue 定义接口 VPC 终端节点,使用 Amazon PrivateLink 将数据生产者的 VPC 连接到 Amazon Glue。当您使用 VPC 接口终端节点时,您的 VPC 和 Amazon Glue 之间的通信完全在 Amazon Web Services 网络内进行。有关更多信息,请访问用户文档

问:如何监控我的 Amazon Glue Schema Registry 使用情况?

Amazon CloudWatch 指标可作为 CloudWatch 免费套餐的一部分提供。您可以在 CloudWatch 控制台中访问这些指标。请访问 Amazon Glue Schema Registry 用户文档以了解更多信息。

问:Amazon Glue Schema Registry 是否提供管理用户授权的工具?

是,Schema Registry 支持资源级别权限和基于身份的 IAM 策略。

问:如何从现有架构注册表迁移到 Amazon Glue Schema Registry?

用户文档中提供了从第三方架构注册表迁移到 Amazon Glue Schema Registry 的步骤。

提取、转换和加载 (ETL)

问:可以使用哪种编程语言为 Amazon Glue 编写 ETL 代码?

您可以使用 Scala 或 Python。

问:如何自定义 Amazon Glue 生成的 ETL 代码?

Amazon Glue 的 ETL 脚本推荐系统可生成 Scala 或 Python 代码。它利用 Glue 的自定义 ETL 库来简化对数据源的访问和管理作业执行。您可以在我们的文档中找到有关该库的更多详细信息。您可以使用 Amazon Glue 的自定义库编写 ETL 代码,也可以通过 Amazon Glue 控制台脚本编辑器使用内联编辑,下载自动生成的代码并在自己的IDE 中编辑,从而使用 Scala 或 Python 编写任意代码。您还可以从我们的 Github 存储库中托管的众多示例之一开始,然后自定义该代码。

问:是否可以导入自定义库作为 ETL 脚本的一部分?

可以。您可以将自定义 Python 库和 Jar 文件导入 Amazon Glue ETL 作业中。有关更多详细信息,请参阅此处的文档。

问:是否可以使用自己的代码?

可以。您可以使用 Amazon Glue 的 ETL 库编写自己的代码,也可以编写自己的 Scala 或 Python 代码并将其上传到 Glue ETL 作业。有关更多详细信息,请参阅此处的文档。

问:如何使用自己的 IDE 开发 ETL 代码?

您可以创建并连接到开发终端节点,这些终端节点提供了连接笔记本电脑和 IDE 的方法。

问:如何使用 Amazon Glue 中的多个作业构建端到端 ETL 工作流?

除了 ETL 库和代码生成功能,Amazon Glue 还提供了一组强大的编排功能,允许您管理多个作业之间的依赖关系,以构建端到端 ETL 工作流。Amazon Glue ETL 作业可以按计划或作业完成事件触发。多个作业可以并行触发,也可以按照作业完成事件依次触发。您还可以从外部源(如 Amazon Lambda 函数)触发一个或多个 Glue 作业。

问:Amazon Glue 如何监控依赖关系?

Amazon Glue 使用触发器管理两个或多个作业之间的依赖关系或外部事件的依赖关系。触发器可以监控和调用一个或多个作业。您可以使用会定期调用作业的计划触发器(即按需触发器),也可以使用作业完成触发器。

问:Amazon Glue 如何处理错误?

Amazon Glue 会监控作业事件指标和错误,并将所有通知推送到 Amazon CloudWatch。借助 Amazon CloudWatch,您可以配置一系列能够根据来自 Amazon  Glue 的特定通知触发的操作。例如,如果您从 Glue 收到错误或成功通知,可以触发 Amazon Lambda 函数。Glue 还提供默认重试功能,该功能会在发送错误通知之前重试所有失败操作三次。

问:是否可以使用 Amazon Glue 运行现有的 ETL 作业?

可以。您可以在 Amazon Glue 上运行现有的 Scala 或 Python 代码。只需将代码上传到 Amazon S3 并创建一个或多个使用该代码的作业。您可以跨多个作业重复使用相同的代码,方法是将这些作业指向 Amazon S3 上的同一代码位置。

问:如何将 Amazon Glue 用于 ETL 流数据?

Amazon Glue ETL 是面向批处理的服务,您可以安排 ETL 作业至少间隔 5 分钟执行一次。虽然它可以处理微型批处理,但不处理流数据。如果使用案例要求您在 ETL 数据的同时对其进行流处理,您可以使用 Amazon Kinesis Data Firehose 执行 ETL 的第一步,然后将数据存储到 Amazon S3Amazon Redshift 并触发 Glue ETL 作业以获取数据集,然后继续对这些数据应用其他转换。

问:是否必须同时使用 Amazon Glue 数据目录和 Glue ETL 才能使用该服务?

否。虽然我们确实认为同时使用 Amazon Glue 数据目录和 ETL 可以提供端到端 ETL 体验,但您也能独立使用其中任何一种。

Amazon Glue DataBrew

问:什么是 Amazon Glue DataBrew?

Amazon Glue DataBrew 是一款可视化数据准备工具,可让数据分析师和数据科学家在点击式交互式直观界面中轻松地准备数据,而无需编写任何代码。借助 Glue DataBrew,您可以轻松可视化、清理和规范化数据湖、数据仓库和数据库(包括 Amazon S3、Amazon Redshift、Amazon Aurora 和 Amazon RDS)中的万亿字节甚至是千万亿字节数据。Amazon Glue DataBrew 已在提供 Amazon Glue 的区域全面推出。

问:谁可以使用 Amazon Glue DataBrew?

Amazon Glue DataBrew 专为需要清理和规范化数据以进行分析和机器学习的用户构建。数据分析师和数据科学家是主要用户。对数据分析师来说,工作职能示例包括商业智能分析师、运营分析师、市场情报分析师、法律分析师、财务分析师、经济学家、金融工程师或会计师。对于数据科学家来说,工作职能示例包括材料科学家、生物分析科学家和科学研究者。

问:Amazon Glue DataBrew 支持哪些类型的转换?

您可以从 250 多种内置转换中进行选择,以合并、透视和转置数据,而无需编写任何代码。Amazon Glue DataBrew 还可以自动推荐转换,如筛选异常、纠正分类不正确的无效或重复值、将数据规范化为标准日期和时间值或者生成聚合以进行分析。对于复杂的转换(例如将文字转换为常见词基或词根),Glue DataBrew 提供有使用高级机器学习(例如自然语言处理 (NLP))技术的转换。您可以将多个转换分组到一起,将它们另存为配方并将配方直接应用到新的传入数据。

问:Amazon Glue DataBrew 支持哪些文件格式?

对于输入数据,Amazon Glue DataBrew 支持常用的文件格式,例如以逗号分隔的值 (.csv)、JSON 和嵌套式 JSON、Apache Parquet 和嵌套式 Apache Parquet 以及 Excel 表单。对于输出数据,Amazon Glue DataBrew 支持以逗号分隔的值 (.csv)、JSON、Apache Parquet、Apache Avro、Apache ORC 和 XML。

问:我可以免费试用 Amazon Glue DataBrew 吗?

可以。请注册 Amazon 免费套餐账户,然后访问 Amazon Glue DataBrew 管理控制台,即可立即免费开始使用。如果您是首次使用 Glue DataBrew,则前 40 个交互式会话免费。请访问 Amazon Glue 定价页面,以了解更多信息。

问:我是否需要使用 Amazon Glue 数据目录或 Amazon Lake Formation 才能使用 Amazon Glue DataBrew?

不需要。您可以在不使用 Amazon Glue 数据目录或 Amazon Lake Formation 的情况下使用 Amazon Glue DataBrew。如果您使用 Glue 数据目录存储架构和元数据,则 Glue DataBrew 将会通过 Glue 数据目录自动推断架构。如果在 Amazon Lake Formation 中集中和保护您的数据,则 DataBrew 用户可以从集中化的数据目录中使用可用的所有数据集。

问:我能否保留对我的数据所做的所有更改的记录?

可以。您可以在 Amazon Glue DataBrew 管理控制台中可视化跟踪对数据所做的全部更改。通过可视化视图,您可以轻松跟踪对数据集、项目和配方以及所有其他关联作业的更改和关系。此外,Glue DataBrew 可以将所有账户活动以日志的形式保存在 Amazon CloudTrail 中。

Amazon 产品集成

问:应该何时使用 Amazon Glue?何时使用 Amazon EMR?

Amazon Glue 基于 Apache Spark 环境运行,为您的数据转换作业提供横向扩展的执行环境。Amazon Glue 推断、发展和监控您的 ETL 作业,大大简化了创建和维护作业的流程。Amazon EMR 允许您直接访问 Hadoop 环境,向您提供较低级别的访问权限,并且让您可以更加灵活地使用 Spark 以外的工具。

问:应该何时使用 Amazon Glue?何时使用 Amazon Database Migration Service?

Amazon Database Migration Service (DMS) 可帮助您轻松安全地将数据库迁移至 亚马逊云科技。对于需要将数据库从本地迁移到 亚马逊云科技或在本地源与 亚马逊云科技上的源之间执行数据库复制的使用案例,我们建议您使用 Amazon DMS。数据在 亚马逊云科技中之后,您就可以使用 Amazon Glue 将数据源中的数据移动并转换到另一个数据库或数据仓库中,例如 Amazon Redshift

定价和账单

问:Amazon Glue 如何收费?

您需要支付月度费用,以便存储和访问 Amazon Glue 数据目录中的元数据。此外,您将按小时付费(不足一小时将按秒计费),对于运行 ETL 作业和抓取程序,每次运行最低 10 分钟。如果您选择使用开发终端节点,以交互方式开发 ETL 代码,您将按小时付费(不足一小时将按秒计费),预置开发终端节点的时间最短为 10 分钟。有关更多详细信息,请参阅我们的定价页面。

问:Amazon Glue 作业何时开始和结束计费?

一旦安排执行作业就开始计费,直到整个作业完成为止。借助 Amazon Glue,您只需按作业运行的时间付费,而不需要按环境预置或关闭时间付费。

安全性和可用性

问:Amazon  Glue 如何确保我的数据安全?

我们为静态数据提供服务器端加密,为动态数据提供 SSL。

问:与 Amazon Glue 相关的服务限制有哪些?

要了解有关服务限制的更多信息,请参阅我们的文档

问:会为开发终端节点分配多少个数据处理单元 (DPU)?

每个开发终端节点默认预置 5 个 DPU。您可以为开发终端节点配置 DPU,最少 2 个,最多 5 个。

问:如何扩展 Amazon Glue ETL 作业的规模和性能?

您只需指定要分配给 ETL 作业的数据处理单元 (DPU) 的数量。一个 Glue ETL 作业至少需要 2 个 DPU。默认情况下,Amazon Glue 为每个 ETL 作业分配 10 个 DPU。

问:如何监控 Amazon Glue 作业的执行情况?

Amazon Glue 提供每个作业的状态,并将所有通知推送到 Amazon CloudWatch。您可以通过 CloudWatch 操作设置 SNS 通知,了解作业是失败了还是完成了。

服务等级协议

问:Amazon Glue SLA 有什么保证?

我们的 Amazon Glue SLA 保证 Amazon Glue 的月度正常运行时间百分比至少为 99.9%。

问:如何了解我是否符合 SLA 服务抵扣的资格?

如果您在同一区域内运行任务的多个可用区在任一月度计费周期内的月度正常运行时间百分比低于 99.9%,那么根据 Amazon  Glue SLA,您符合 Amazon Glue 的 SLA 抵扣资格。

访问定价页面

浏览 Amazon Glue 的定价选项。

了解更多 
注册账户
注册 
开始在控制台中构建

开始在 亚马逊云科技管理控制台中使用 Amazon Glue 构建。

登录 
关闭
1010 0766
由光环新网运营的
北京区域
1010 0966
由西云数据运营的
宁夏区域
关闭
由光环新网运营的
北京区域
由西云数据运营的
宁夏区域