

# 在 AWS Glue for Ray 中使用 Ray Core 和 Ray Data
<a name="edit-script-ray-scripting"></a>

**重要**  
自 2026 年 4 月 30 日起，AWS Glue for Ray 将不再向新客户开放。要使用 AWS Glue for Ray，请在该日期之前注册。现有客户可以继续正常使用该服务。要获取与 AWS Glue for Ray 相似的功能，可探索 Amazon EKS。有关更多信息，请参阅 [AWS Glue for Ray 终止支持](https://docs.aws.amazon.com/glue/latest/dg/awsglue-ray-jobs-availability-change.html)。

Ray 是一个框架，用于通过在集群中分配工作来纵向扩展 Python 脚本。您可以使用 Ray 来解决多种问题，因此 Ray 提供了用于优化某些任务的库。在 AWS Glue 中，我们专注于使用 Ray 来转换大型数据集。AWS Glue 为 Ray Data 和 Ray Core 的某些部分提供支持，以简化此任务。

## 什么是 Ray Core？
<a name="edit-script-ray-scripting-core-what"></a>

构建分布式应用程序的第一步是识别和定义可以同时执行的工作。Ray Core 包含 Ray 中用来定义可以同时执行的任务的部分。Ray 提供了参考和快速入门信息，您可以使用这些信息来学习他们提供的工具。有关更多信息，请参阅 [What is Ray Core?](https://docs.ray.io/en/latest/ray-core/walkthrough.html) 以及 [Ray Core Quick Start](https://docs.ray.io/en/latest/ray-overview/getting-started.html#ray-core-quick-start)。有关在 Ray 中有效定义并发任务的更多信息，请参阅 [Tips for first-time users](https://docs.ray.io/en/latest/ray-core/tips-for-first-time.html)。

**Ray 任务和操作者**  
在 AWS Glue for Ray 文档中，我们可能会提及*任务*和*操作者*，它们是 Ray 中的核心概念。  
Ray 使用 Python 函数和类作为分布式计算系统的构建基块。就像 Python 函数和变量在类中使用时变成“方法”和“属性”一样，在 Ray 中使用函数向工作线程发送代码时，函数变成“任务”，类变成“操作者”。您可以通过 `@ray.remote` 注解来识别 Ray 可能使用的函数和类。  
任务和操作者是可配置的，它们具有生命周期，并且在整个生命周期中都会占用计算资源。当您找到问题的根本原因时，会引发错误的代码可以追溯到任务或操作者。因此，当您学习如何配置、监控或调试 AWS Glue for Ray 作业时，可能会出现这些术语。  
要开始学习如何有效地使用任务和操作者来构建分布式应用程序，请参阅 Ray 文档中的 [Key Concepts](https://docs.ray.io/en/latest/ray-core/key-concepts.html)。

## AWS Glue for Ray 中的 Ray Core
<a name="edit-script-ray-scripting-core-glue"></a>

AWS Glue for Ray 环境管理集群的形成和扩展，以及收集和可视化日志。由于我们管理这些问题，因此我们限制了对 Ray Core 中用于解决开源集群中这些问题的 API 的访问和支持。

在托管式 `Ray2.4` 运行时环境中，我们不支持：
+ [Ray Core CLI](https://docs.ray.io/en/releases-2.4.0/ray-core/api/cli.html)
+ [Ray State CLI](https://docs.ray.io/en/releases-2.4.0/ray-observability/api/state/cli.html)
+ `ray.util.metrics` Prometheus 指标实用方法：
  + [计数器](https://docs.ray.io/en/releases-2.4.0/ray-core/api/doc/ray.util.metrics.Counter.html)
  + [计量表](https://docs.ray.io/en/releases-2.4.0/ray-core/api/doc/ray.util.metrics.Gauge.html)
  + [直方图](https://docs.ray.io/en/releases-2.4.0/ray-core/api/doc/ray.util.metrics.Histogram.html)
+ 其他调试工具：
  + [ray.util.pdb.set\$1trace](https://docs.ray.io/en/releases-2.4.0/ray-core/api/doc/ray.util.pdb.set_trace.html)
  + [ray.util.inspect\$1serializability](https://docs.ray.io/en/releases-2.4.0/ray-core/api/doc/ray.util.inspect_serializability.html)
  + [ray.timeline](https://docs.ray.io/en/releases-2.4.0/ray-core/api/doc/ray.timeline.html)

## 什么是 Ray Data？
<a name="edit-script-ray-scripting-data-what"></a>

当您连接到数据来源和目标、处理数据集和启动常见转换时，Ray Data 是一种使用 Ray 来解决 Ray 数据集转换问题的简单方法。有关使用 Ray Data 的更多信息，请参见 [Ray 数据集：分布式数据预处理](https://docs.ray.io/en/releases-2.4.0/data/dataset.html)。

您可以使用 Ray Data 或其他工具来访问您的数据。有关在 Ray 中访问数据的更多信息，请参阅 [连接 Ray 作业中的数据](edit-script-ray-connections-formats.md)。

## AWS Glue for Ray 中的 Ray Data
<a name="edit-script-ray-scripting-data-glue"></a>

默认情况下，托管式 `Ray2.4` 运行时环境支持和提供 Ray Data。有关提供的模块的更多信息，请参阅 [Ray 作业提供的模块](edit-script-ray-env-dependencies.md#edit-script-ray-modules-provided)。