AWS Glue 组件 - AWS Glue
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

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

AWS Glue 组件

AWS Glue 提供控制台和 API 操作来设置和管理您的提取、转换和加载 (ETL) 工作负载。您可以通过多个特定于语言的 SDKs 和 AWS Command Line Interface (AWS CLI) 来使用 API 操作。有关使用 AWS CLI 的信息,请参阅 AWS CLI Command Reference

AWS Glue 使用 AWS Glue 数据目录来存储有关数据源、转换和目标的元数据。Data Catalog是 Apache Hive 元存储的简易替代。AWS Glue Jobs system提供用于为您的数据定义、安排和运行 ETL 操作的托管基础设施。有关 AWS Glue API 的更多信息,请参阅AWS Glue API

AWS Glue 控制台

您可以使用 AWS Glue 控制台来定义和协调您的 ETL 工作流程。该控制台在 AWS Glue 数据目录和 AWS Glue Jobs system中调用多个 API 操作以执行以下任务:

  • 定义 AWS Glue 对象,如作业、表、爬网程序和连接。

  • 安排爬网程序的运行时间。

  • 为作业触发器定义事件或计划。

  • 搜索和筛选 AWS Glue 对象的列表。

  • Edit 转换脚本。

AWS Glue 数据目录

AWS Glue 数据目录是您的持久性元数据存储。它是一项托管服务,可让您在 AWS 云中存储、注释和共享元数据,就像在 Apache Hive 元存储中一样。

每个 AWS 账户在每个 AWS 区域有一个 AWS Glue 数据目录 。它提供了一个统一的存储库,不同的系统可以在其中存储和查找元数据来跟踪数据孤岛中的数据,并使用该元数据来查询和转换数据。

您可以使用 AWS Identity and Access Management (IAM) 策略来控制对 AWS Glue 数据目录所管理的数据源的访问。这些策略允许企业中的不同组将数据安全地发布到更广泛的组织,同时保护敏感信息。IAM 策略能让您清晰、一致地定义哪些用户可以访问哪些数据,无论这些数据存储在什么地方。

还提供全面的审核和监管功能,具有架构更改跟踪和数据访问控制。Data Catalog可以审核对数据架构进行的更改。这有助于确保数据不会被不当修改或无意中共享。

有关如何使用 AWS Glue 数据目录 的信息,请参阅填充 AWS Glue 数据目录。有关如何使用 Data Catalog API 编程的信息,请参阅目录 API

以下是使用 AWS 的其他 AWS Glue 数据目录 服务和开源项目:

AWS Glue 爬网程序和分类器

AWS Glue 还能让您设置爬网程序,它可以扫描所有类型的存储库中的数据,对其进行分类,从中提取架构信息,并自动在 AWS Glue 数据目录中存储元数据。然后,AWS Glue 数据目录 可用于指导 ETL 操作。

有关如何设置爬网程序和分类器的信息,请参阅定义爬网程序。有关如何使用 AWS Glue API 编程爬网程序和分类器的信息,请参阅爬网程序和分类器 API

AWS Glue ETL 操作

通过使用 Data Catalog 中的元数据,AWS Glue 可以使用 PySpark 扩展自动生成 Scala 或 AWS Glue(适用于 Apache Spark 的 Python API)脚本,您可以使用和修改这些脚本以执行各种 ETL 操作。例如,您可以提取、清除和转换原始数据,然后将结果存储在不同的存储库中,以便可以对其进行查询和分析。此类脚本可能会将 CSV 文件转换为关系形式并将其保存到 Amazon Redshift 中。

有关如何使用 AWS Glue ETL 功能的更多信息,请参阅ETL 脚本编程

AWS Glue 中的流式处理 ETL

AWS Glue 使您能够使用持续运行的作业对流数据执行 ETL 操作。AWS Glue 流式处理 ETL 基于 Apache Spark Structured Streaming 引擎构建,可以从 Amazon Kinesis Data Streams、Apache Kafka 和 Amazon Managed Streaming for Apache Kafka (Amazon MSK) 提取流。流式处理 ETL 可以清理和转换流数据,并将其加载到 Amazon S3 或 JDBC 数据存储中。在 AWS Glue 中使用流式处理 ETL 来处理事件数据,如 IoT 流、点击流和网络日志。

如果您知道流式数据源的架构,则可以在 Data Catalog 表中指定它。如果没有,您可以在流式处理 ETL 作业中启用架构检测。然后,作业根据传入数据自动确定架构。

流式处理 ETL 作业可以使用 AWS Glue 内置转换和 Apache Spark Structured Streaming 的原生转换。有关更多信息,请参阅 Apache Spark 网站上的流式处理DataFrames/数据集的操作

有关更多信息,请参阅在 AWS Glue 中添加流式处理 ETL 作业

AWS Glue 作业系统

AWS Glue Jobs system提供托管基础设施以协调 ETL 工作流程。您可以在 AWS Glue 中创建作业,用于自动处理您用于提取、转换数据并将数据传输到不同位置的脚本。作业可以安排和串联,也可以由诸如新数据到达之类的事件触发。

有关如何使用 AWS Glue Jobs system的更多信息,请参阅运行和监控 AWS Glue。有关使用 AWS Glue Jobs system API 编程的信息,请参阅作业 API