

# 在 AWS Glue 中处理 Ray 作业
<a name="ray-jobs-section"></a>

**重要**  
AWS Glue for Ray 不再向新客户开放。现有客户可以继续正常使用该服务。有关更多信息，请参阅 [AWS Glue for Ray 终止支持](https://docs.aws.amazon.com/glue/latest/dg/awsglue-ray-jobs-availability-change.html)。

此部分提供有关使用 AWS Glue for Ray 作业的信息。有关编写 AWS Glue for Ray 脚本的更多信息，请参阅 [Ray 脚本编程](aws-glue-programming-ray.md) 部分。

**Topics**
+ [AWS Glue for Ray 入门](#author-job-ray-using)
+ [支持的 Ray 运行时环境](#author-job-ray-runtimes)
+ [Ray 作业的工作线程会计](#author-job-ray-worker-accounting)
+ [在 Ray 作业中使用作业参数](author-job-ray-job-parameters.md)
+ [使用指标监控 Ray 作业](author-job-ray-monitor.md)

## AWS Glue for Ray 入门
<a name="author-job-ray-using"></a>

要使用 AWS Glue for Ray，您可以使用为 AWS Glue for Spark 使用的相同 AWS Glue 作业和交互式会话。AWS Glue 作业专为循环运行相同的脚本而设计，而交互式会话旨在让您针对相同的预置资源按顺序运行代码片段。

AWS Glue ETL 和 Ray 在底层是不同的，所以在您的脚本中，您可以访问不同的工具、功能和配置。作为一个由 AWS Glue 管理的新计算框架，Ray 具有不同的架构，并使用不同的词汇来描述它的作用。有关更多信息，请参阅 Ray 文档中的[架构白皮书](https://docs.ray.io/en/latest/ray-contribute/whitepaper.html)。

**注意**  
AWS Glue for Ray 在美国东部（弗吉尼亚州北部）、美国东部（俄亥俄州）、美国西部（俄勒冈州）、亚太地区（东京）和欧洲地区（爱尔兰）发布。

### AWS Glue Studio 控制台中的 Ray 作业
<a name="author-job-ray-using-console"></a>

在 AWS Glue Studio—**Ray 脚本编辑器**中创建作业时，在 AWS Glue Studio 控制台的 **作业**页面上，可以选择一个新选项。选择此选项可在控制台中创建 Ray 作业。有关这些作业及其使用方法的详细信息，请参阅 [构建可视化 ETL 作业](author-job-glue.md)。

![AWS Glue Studio 中的作业页面，其中选择了 Ray 脚本编辑器选项。](http://docs.aws.amazon.com/zh_cn/glue/latest/dg/images/ray_job_setup.png)


### AWS CLI 和 SDK 中的 Ray 作业
<a name="author-job-ray-using-cli"></a>

AWS CLI 中的 Ray 作业与其他作业使用相同的 SDK 操作和参数。AWS Glue for Ray 为某些参数引入了新值。有关作业 API 的更多信息，请参阅 [作业](aws-glue-api-jobs-job.md)。

## 支持的 Ray 运行时环境
<a name="author-job-ray-runtimes"></a>

在 Spark 作业中，`GlueVersion` 确定 AWS Glue for Spark 作业中可用的 Apache Spark 和 Python 版本。Python 版本指示了 Spark 类型的作业支持的版本。这不是 Ray 运行时环境的配置方式。

对于 Ray 作业，应将 `GlueVersion` 设置为 `4.0` 或更高。但是，Ray 作业中可用的 Ray、Python 和其他库的版本由作业定义中的 `Runtime` 字段决定。

`Ray2.4` 运行时环境将在发布后至少 6 个月内可用。随着 Ray 的快速发展，您将能够在未来的运行时环境版本中整合 Ray 的更新和改进功能。

有效值：`Ray2.4`


| 运行时值 | Ray 和 Python 版本 | 
| --- | --- | 
| Ray2.4（适用于 AWS Glue 4.0\+ 版本） | Ray 2.4.0<br />Python 3.9 | 

**其他信息**
+ 有关 Ray 版本附带 AWS Glue 的发行说明，请参阅 [AWS Glue 版本](release-notes.md#release-notes-versions)。
+ 有关在运行时环境中提供的 Python 库，请参阅 [Ray 作业提供的模块](edit-script-ray-env-dependencies.md#edit-script-ray-modules-provided)。

## Ray 作业的工作线程会计
<a name="author-job-ray-worker-accounting"></a>

AWS Glue 在新的基于 Graviton 的 EC2 工作线程类型上运行 Ray 作业，这些类型仅适用于 Ray 作业。为了适当地为这些工作负载配置 Ray 所设计的工作负载，我们提供了与大多数工作线程不同的计算资源与内存资源的比例。为了考虑这些资源，我们使用内存优化数据处理单元（M-DPU），而不是标准数据处理单元（DPU）。
+ 一个 M-DPU 相当于 4 个 vCPU 和 32 GB 内存。
+ 一个 DPU 相当于 4 个 vCPU 和 16 GB 内存。DPU 用于核算 AWS Glue 中使用 Spark 作业和相应工作线程的资源。

Ray 作业目前可以访问一种工作者类型 `Z.2X`。`Z.2X` 工作线程映射到 2 个 M-DPU（8 个 vCPU，64 GB 内存），并拥有 128 GB 的磁盘空间。`Z.2X` 计算机提供 8 个 Ray 工作线程（每个 vCPU 一个）。

在一个账户中可以同时使用的 M-DPU 数量受服务限额的限制。有关 AWS Glue 账户限制的更多信息，请参阅[AWS Glue端节点和配额](https://docs.aws.amazon.com/general/latest/gr/glue.html)。

您可以在作业定义中指定使用 `--number-of-workers (NumberOfWorkers)` 的 Ray 作业可用的工作节点数量。有关作业 API 中 Ray 值的更多信息，请参阅 [作业](aws-glue-api-jobs-job.md)。

您可以使用 `--min-workers` 作业参数进一步指定 Ray 作业必须分配的最小工作线程数。有关任务参数的更多信息，请参阅 [参考](author-job-ray-job-parameters.md#author-job-ray-parameters-reference)。