AWS Glue 数据集成服务解析

在数据库和数据仓库领域,“ETL”(提取、转换和加载)这一术语可能耳熟能详。随着组织数据量的增长,利用这些数据进行分析以获得商业洞察的需求也随之增长。为了高效管理这些数据,ETL过程变得必不可少。AWS通过其服务AWS Glue帮助用户执行ETL任务,尤其是复杂的ETL任务。AWS Glue是一个无服务器的ETL工具,它帮助用户进行数据分析,并在短时间内获得结果。此外,由于它是一个自动管理的完全由AWS维护的服务,用户无需管理任何云基础设施。

为什么数据科学家和分析师选择AWS Glue?作为一个基于云的工具,AWS Glue降低了成本,减少了创建ETL作业所需的时间。它还消除了与ETL数据处理相关的所有复杂任务,因为它与各种平台关联,可以快速进行数据分析。本文概述了AWS Glue,为什么它是ETL数据处理的有效工具,Glue的架构和组件,它的工作原理以及一些用例。

AWS Glue是什么?

AWS Glue是一个无服务器数据集成服务,开发用于执行提取、转换和加载数据的ETL过程。由于它是一个无服务器服务,用户无需管理基础设施、配置、扩展或提供资源。Glue提供了易于使用的工具,根据计划、事件触发器或按需创建和跟踪作业任务。AWS Glue提供了可视化和基于代码的界面,使数据集成更加易于管理。通过AWS Glue Studio,用户可以仅通过几次点击就可视化地创建、运行和监控ETL工作流。

为什么考虑使用AWS Glue进行ETL数据处理?

自动ETL代码生成:通过指定数据的源和目的地,AWS Glue可以为整个ETL管道生成Python或Scala代码。这个特性简化了数据集成操作,并允许用户并行处理重负载工作。

仅为使用的资源付费:Glue具有成本效益,用户只需为使用的资源付费。如果ETL作业偶尔需要更多的计算能力,但在其他时间消耗较少资源,用户无需为非高峰时间的资源付费。

开发者端点:对于喜欢手动创建和测试自己的自定义ETL脚本的用户来说,这很有帮助。它可以调试、编辑和测试自动生成的代码。使用开发者端点,可以创建自定义读取器、写入器或转换,这些可以进一步作为自定义库导入到Glue ETL作业中。

自动模式发现:Glue使用爬虫解析数据及其源或目标。爬虫获取与模式相关的信息并将其存储在数据目录中,这有助于管理工作。因此,用户无需单独为数据设计模式以适应ETL过程的复杂特性。

AWS Glue的架构

AWS Glue由许多单独的组件组成,如数据目录、作业调度系统、爬虫、ETL引擎、数据存储等。Glue依赖于这些组件之间的交互来开发和维护ETL操作。不同的组件可以通过Glue工作流进行编排,以获得功能性数据处理管道。工作流定义并可视化了启动爬虫和作业的顺序,以促进数据转换。

Glue架构的组件包括:

  • 数据目录:它保存数据结构并存储系统高效工作所需的元数据。它包含元数据表中的信息,每个表指向一个单一的数据存储。数据目录存储与数据、查询、模式、数据源和目的地、分区等相关信息。
  • 作业调度系统:它负责根据各种事件启动作业。该系统通过创建执行计划或基于事件的作业触发来处理自动化和链式ETL管道。
  • 爬虫:它从源检索数据并在确定模式后在数据目录中构建元数据表。爬虫在单次遭遇中探索多个数据存储,并为这些数据确定理想的模式。
  • ETL引擎:它处理Python或Scala的ETL代码生成,并允许代码自定义。用户可以可视化地组合数据转换工作流,并在Glue的基于Apache Spark的无服务器ETL引擎上运行它们。
  • 数据存储:它表示一个数据存储库,用于长期保存用户的数据。一些数据存储包括AWS S3桶和其他关系数据库。

AWS Glue如何工作?

首先,用户必须确定用作过程或转换输入的数据源。数据爬虫分析并提取有关数据源和目标的必要信息。它对数据进行分类,以确定原始数据的格式和相关属性,并将数据分组到表或分区中。这些数据被发送并存储为Glue数据目录中的元数据表定义。在Glue数据目录完全分类后,数据将准备好进行ETL,可搜索和可查询。用户可以创建脚本,安排ETL作业,或设置触发事件以启动作业。在执行任务时,脚本将从数据源提取数据,转换并加载到数据目标。因此,ETL(提取、转换、加载)过程将完成。

AWS Glue在构建事件驱动的ETL工作流时非常有用。它允许开发人员根据Amazon EventBridge传递的事件启动AWS Glue工作流。这个特性使用户能够从任何AWS服务、SaaS提供商或自定义应用程序的事件触发数据集成工作流。用户可以通过AWS Lambda函数在Amazon S3中新数据可用时调用AWS Glue ETL作业来启动ETL作业。

AWS Glue具有使用JDBC驱动程序的本地连接器,可以在AWS或任何具有IP连接的云中使用。使用JDBC协议,Glue原生支持像Amazon RDS及其变体、Amazon Redshift等数据存储。对于Glue不原生支持的数据源,如SAP Sybase、IBM DB2、Pivotal Greenplum或其他RDBMS,用户可以从AWS S3导入自定义数据库连接器到AWS Glue作业中。

  • AWS Glue是一个无服务器数据集成服务,开发用于执行提取、转换和加载数据的ETL过程。
  • 通过指定数据的源和目的地,Glue可以为整个ETL管道生成Python或Scala代码。
  • AWS Glue架构包括数据目录、作业调度系统、爬虫、ETL引擎、数据存储等。
  • 数据目录保存数据结构并存储系统高效工作所需的元数据。
  • 爬虫从源检索数据并在确定模式后在数据目录中构建元数据表。
  • AWS Glue与Snowflake的数据仓库轻松集成。
沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485