Amazon Glue for Spark 和 Amazon Glue for Ray - Amazon Glue
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

Amazon Glue for Spark 和 Amazon Glue for Ray

在 Amazon Glue on Apache Spark(Amazon Glue ETL),您可以使用 PySpark 编写 Python 代码来大规模处理数据。Spark 是解决这个问题的熟悉解决方案,但是具有以 Python 为中心背景的数据工程师可能会发现这种过渡并不直观。Spark DataFrame 模型不是无缝的“Pythonic”,它反映了它所构建的 Scala 语言和 Java 运行时。

在 Amazon Glue 中,您可以使用 Python shell 作业来运行原生 Python 数据集成。这些作业在单个 Amazon EC2 实例上运行,并且受到该实例容量的限制。这限制了您可以处理的数据的吞吐量,并且在处理大数据时维护成本会很高。

Amazon Glue for Ray 允许您纵向扩展 Python 工作负载,而无需在学习 Spark 上投入大量资金。您可以利用 Ray 表现某些更好的场景。通过为您提供选择,您可以利用 Spark 和 Ray 的优势。

Amazon Glue ETL 和 Amazon Glue for Ray 在底层是不同的,因此它们支持不同的功能。请查看文档以了解支持的功能。

Amazon Glue for Ray 有什么用?

Ray 是一个开源分布式计算框架,您可以使用它来扩展工作负载,重点是 Python。有关 Ray 的更多信息,请参阅 Ray 网站。Amazon GlueRay 作业和交互式会话允许您在 Amazon Glue 中使用 Ray。

您可以使用 Amazon Glue for Ray 为计算编写 Python 脚本,这些脚本将在多台机器上并行运行。在 Ray 作业和交互式会话中,您可以使用熟悉的 Python 库 (例如,pandas),使您的工作流程易于编写和运行。有关 Ray 数据集的更多信息,请参阅 Ray 文档中的 Ray 数据集。有关 pandas 的更多信息,请参阅 Pandas 网站

使用 Amazon Glue for Ray 时,只需几行代码,即可针对企业级的大数据运行 pandas 工作流程。可从 Amazon Glue 控制台或 Amazon 开发工具包创建 Ray 作业。您也可以打开 Amazon Glue 交互式会话,在无服务器 Ray 环境中运行您的代码。Amazon Glue Studio 中尚不支持可视化作业。

Amazon Glue for Ray 作业允许您按计划运行脚本或响应来自 Amazon EventBridge 的事件。作业将日志信息和监控统计信息存储在 CloudWatch 中,使您能够了解脚本的运行状况和可靠性。有关 Amazon Glue 作业系统的更多信息,请参阅 在 Amazon Glue 中处理 Ray 作业

Ray 可自动扩展 Python 代码的工作,方法是将处理分布在一组机器上,然后根据负载对其进行实时重新配置。这可以提高某些工作负载的每美元性能。借助 Ray 作业,我们在 Amazon Glue 作业模型中原生内置了自动扩缩功能,因此您可以充分利用此功能。Ray 任务在 Amazon Graviton 上运行,从而提高了整体性价比。

除了节省成本外,您还可以使用原生自动扩缩来运行 Ray 工作负载,而无需花时间进行集群维护、调整和管理。您可以开箱即用熟悉的开源库,比如 pandas 和适用于 Panda 的 Amazon 开发工具包。这些可以提高您在 Amazon Glue for Ray 上开发时的迭代速度。使用 Amazon Glue for Ray 时,您将能够快速开发和运行具有成本效益的数据集成工作负载。