AWS Glue 功能
为什么选择 Glue?
AWS Glue 是一项无服务器、可扩展的数据集成服务,它简化了发现、准备、移动和集成来自多个来源的数据以进行分析、机器学习和应用程序开发的工作。AWS Glue 提供了数据集成所需的全部功能,使您只需几分钟时间便可以获得数据见解并将数据投入使用,而不用耗时几个月。AWS Glue 无需设置或管理基础设施。您仅需为运行任务时所消耗的资源付费。
AWS Glue 是一项无服务器、可扩展的数据集成服务,它简化了发现、准备、移动和集成来自多个来源的数据以进行分析、机器学习和应用程序开发的工作。AWS Glue 提供了数据集成所需的全部功能,使您只需几分钟时间便可以获得数据见解并将数据投入使用,而不用耗时几个月。AWS Glue 无需设置或管理基础设施。您仅需为运行任务时所消耗的资源付费。
AWS Glue Data Catalog 是您所有数据资产的永久元数据存储,且无论它们位于何处都将如此。数据目录包含表定义、作业定义、Schema 和其他控制信息,以帮助您管理 AWS Glue 环境。它会自动计算统计信息并注册分区,以便经济高效地针对您的数据进行查询。它还会维护一个全面的架构版本历史记录,以便您可以了解您的数据如何随着时间发生变化。
AWS Glue 爬网程序连接到您的源或目标数据存储,通过分类器的优先级列表不断更新以确定您的数据架构,然后在 AWS Glue Data Catalog 中创建元数据。元数据存储在 Data Catalog 的表中,并在提取、转换、加载(ETL)作业的创建过程中使用。您可以按计划、按需运行爬网程序,也可以基于事件触发它们,以确保您的元数据是最新的。
AWS Glue Schema Registry 是 AWS Glue 的无服务器功能,有助于您使用注册的 Apache Avro 架构来验证和控制流数据的演变,无需支付额外费用。通过 Apache 许可的序列化器和反序列化器,AWS Glue Schema Registry 与为 Apache Kafka 开发的 Java 应用程序、Amazon Managed Streaming for Apache Kafka(Amazon MSK)、Amazon Kinesis Data Streams、Apache Flink、适用于 Apache Flink 的 Amazon Kinesis Data Analytics 和 AWS Lambda 集成。当数据流处理应用程序与 AWS Glue Schema Registry 集成时,您可以改善数据质量并使用管辖架构发展的兼容性检查来防止出现意外更改。另外,您还可以使用存储在注册表中的架构来创建或更新 AWS Glue 表和分区。
自动扩缩是 AWS Glue 中的一种无服务器功能,它可以根据工作负载动态地纵向扩展和缩减资源。使用自动扩缩时,仅在需要时将您的作业分配给工件。随着作业进展,进入高级转型过程,AWS Glue 将根据它对工作负载的拆分程度添加和删除资源。您不再需要担心过度预置资源,花费时间优化工件数量,或为闲置的工件支付费用。
AWS Glue 可帮助您清理和准备数据以供分析,无需您成为 ML 专家。它的 FindMatches 功能可以删除重复,并找到互相之间不完全匹配的记录。例如,使用 FindMatches 工具查找您的餐厅数据库中的重复记录,例如一条记录是位于“121 Main St.”的“Joe's Pizza”,而另一条记录是位于“121 Main”的“Joseph's Pizzeria”。 FindMatches 会要求您将记录集标记为“匹配”或“不匹配”。 然后系统将会学习您将一对记录称为“匹配”的标准,并构建一个 ETL 作业,您可以使用它来查找数据库中的重复记录或匹配两个数据库中的记录。
如果您选择通过交互方式开发 ETL 代码,AWS Glue 将提供开发端点,以供您编辑、调试和测试其为您生成的代码。您可以使用自己喜欢的集成式开发环境(IDE)或笔记本电脑。您可以编写自定义读取器、写入器或转换程序,并将它们作为自定义库导入到 AWS Glue ETL 作业中。您还可以使用并与其他开发人员共享我们的 GitHub 存储库中的代码。
AWS Glue DataBrew 提供交互式、点击式可视化界面,使数据分析师和数据科学家等用户无需编写代码即可清理和标准化数据。您可以直接从数据湖、数据仓库和数据库(包括 Amazon Simple Storage Service(Amazon S3)、Amazon Redshift、Amazon Aurora 和 Amazon Relational Database Service(Amazon RDS))中轻松可视化、整理和标准化数据。您可以从超过 250 个内置转换中进行选择,以合并、转变和转置数据,并且可以通过将保存的转换直接应用于新传入的数据来自动执行数据准备作业。
AWS Glue 敏感数据检测有助于您在数据管道和数据湖中定义、识别和处理敏感数据。一旦确定,您就可以通过编辑、替换或报告个人身份信息(PII)数据和其他被认为敏感的数据类型来修复敏感数据。AWS Glue 敏感数据检测简化了敏感数据的识别和屏蔽,包括 PII,如姓名、社会保障号码、地址、电子邮件和驾照。
开发人员喜欢 Python,因为它易于使用且内置了丰富的数据处理库。他们希望使用熟悉的 Python 基元类型来处理大型数据集。AWS Glue for Ray 有助于数据工程师使用 Python 和热门的 Python 库来处理大型数据集。AWS Glue for Ray 使用 Ray.io,这是一种开源统一计算框架,可帮助将 Python 工作负载从单个节点扩展到数百个节点。AWS Glue for Ray 采用无服务器架构,因此无需管理基础设施。
AWS Glue 可帮助您创建自定义视觉转换,以便您可以定义、重用和共享 ETL 逻辑。 借助 AWS Glue Custom Visual Transforms,数据工程师可以编写和共享特定于业务的 Apache Spark 逻辑,从而减少对 Spark 开发人员的依赖,并使 ETL 作业保持最新状态变得更加简单。这些转换适用于您 AWS 账户中的所有作业,无论是可视的还是基于代码的。
AWS Glue 交互式会话是作业开发的一种无服务器功能,它简化了数据集成作业的开发。通过 AWS Glue 交互式会话,数据工程师可以交互方式探索和准备数据。工程师还可以使用 IDE 或他们选择的笔记本交互式地探索、实验和处理数据。
AWS Glue Studio 作业笔记本可以最少的设置在 AWS Glue Studio 中提供无服务器笔记本,以便开发人员可以快速入门。使用 AWS Glue Studio 作业笔记本,您可以访问 AWS Glue 交互式会话的内置界面,在其中将笔记本代码保存并计划为 AWS Glue 作业。
AWS Glue 作业可以按计划、按需或基于事件进行调用。您可以并行启动多个作业,也可以跨作业指定依赖关系以构建复杂的 ETL 管道。AWS Glue 将处理所有的作业间依赖关系、筛选出不良数据并且在作业失败时进行重试。所有日志和通知都将推送到 Amazon CloudWatch,以便您可以从中心服务监控和获取提醒。
AWS Glue 与广泛使用的开源版本控制系统 Git 集成。您可以使用 GitHub 和 AWS CodeCommit 来维护对 AWS Glue 作业的更改历史记录,并应用现有的 DevOps 实践来部署它们。AWS Glue 中的 Git 集成适用于所有 AWS Glue 作业类型,无论是基于视觉对象还是代码。它包含与 GitHub 和 CodeCommit 的内置集成,还可以更简单地使用自动化工具(如 Jenkins 和 AWS CodeDeploy)来部署 AWS Glue 作业。
AWS Glue Flex 是一个灵活的执行作业类,您可以通过它将非紧急数据集成工作负载(如预生产作业、测试和数据负载)的成本降低高达 35%。AWS Glue 具有两个作业执行类:标准和灵活。标准执行类是需要快速启动作业和专用资源的时间敏感型工作负载的理想之选。AWS Glue 灵活执行类适合于开始和完成时间可能不同的非时效性作业。
AWS Glue 原生支持三个开源框架,包括 Apache Hudi、Apache Iceberg 和 Linux Foundation Delta Lake。这些框架可帮助您以事务一致的方式管理数据,以便在基于 Amazon S3 的数据湖中使用。
AWS Glue 数据质量自动监测功能可帮助您提高数据质量和信心。它会自动测量、监控和管理数据湖和管道中的数据质量。它还会自动计算统计数据、推荐质量规则、监控质量并在质量下降时向您发出警报,从而在影响您的业务之前更轻松地识别丢失、陈旧或不良数据。
使用 AWS Glue Studio,您可以编写高度可扩展的 ETL 作业来进行分布式处理,而无需成为 Apache Spark 专家。在拖放作业编辑器中定义您的 ETL 过程,AWS Glue 可自动生成代码以提取、转换和加载您的数据。它使用 Scala 或 Python 语言生成代码,并针对 Apache Spark 环境对代码进行编写。
AWS Glue 中的无服务器流 ETL 作业将持续使用流媒体源中的数据,包括 Amazon Kinesis 和 Amazon MSK,动态清理和转换数据,并在目标数据存储中在数秒钟内将其用于分析。使用此功能可以处理 IoT 事件流、点击流和网络日志等事件数据。AWS Glue 流式 ETL 作业可以丰富和聚合数据,加入批处理和流数据源,并运行各种复杂的分析和机器学习操作。