

# 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 のドキュメントの「[Architecture Whitepapers](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 コンソールの **[ジョブ]** ページでは、AWS Glue Studio でジョブを作成する際に、新たに **[Ray script editor]** を選択できます。コンソールに Ray ジョブを作成するときはこちらを選択します。ジョブとその使用方法についての詳細は、「[Visual ETL ジョブの作成](author-job-glue.md)」を参照してください。

![[Ray script editor] オプションを選択したときの、AWS Glue Studio の [ジョブ] ページ。](http://docs.aws.amazon.com/ja_jp/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 は進化のスピードが速いため、今後のランタイム環境のリリースを通じてその更新や改良を統合していけます。

有効な値: `Ray2.4`


| ランタイム値 | Ray と Python のバージョン | 
| --- | --- | 
| Ray2.4 (AWS Glue 4.0 以降) | Ray 2.4.0<br />Python 3.9 | 

**追加情報**
+ AWS Glue on Ray のリリースに付属のリリースノートについては、「[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 は、Ray ジョブを Graviton ベースの新しい EC2 ワーカータイプで実行します。このタイプは Ray ジョブでのみで利用できるものです。これらのワーカーを、Ray の設計の根拠であるワークロードに合わせて適切にプロビジョニングするため、コンピューティングリソースとメモリリソースの比率がほとんどのワーカーとは異なっています。これらのリソースを考慮して、標準データ処理ユニット (DPU) ではなく、メモリ最適化データ処理ユニット (M-DPU) が使用されています。
+ 1 基の M-DPU は 4 基の vCPU と 32 GB のメモリに相当します。
+ 1 基の DPU は 4 基の vCPU と 16 GB のメモリに相当します。DPU は、AWS Glue with Spark のジョブと対応するワーカーのリソースを考慮して、使用されています。

Ray ジョブでは現在、`Z.2X` という 1 つのワーカータイプしか使用できません。`Z.2X` ワーカーは 2 つの M-DPU (8 基の vCPU、64 GB のメモリ) にマップされ、128 GB のディスク容量を有しています。`Z.2X` マシンには 8 つの Ray ワーカーがあります (vCPU につき 1 つ)。

1 つのアカウントで同時に使用できる M-DPU の数は、サービスクォータの対象となります。AWS Glue のアカウント制限についての詳細は、「[AWS Glue エンドポイントとクォータ](https://docs.aws.amazon.com/general/latest/gr/glue.html)」を参照してください。

Ray ジョブで使用できるワーカーノードの数は、ジョブ定義で `--number-of-workers (NumberOfWorkers)` のように指定します。ジョブ API の Ray 値の詳細については、「[ジョブ](aws-glue-api-jobs-job.md)」を参照してください。

また、Ray ジョブが割り当てるワーカーの最小数は、`--min-workers` ジョブパラメータを使用して指定できます。ジョブパラメータについては、[リファレンス](author-job-ray-job-parameters.md#author-job-ray-parameters-reference) を参照してください。