翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
AWS Glue 開発エンドポイントで SageMaker ノートブックを使用する方法
開発エンドポイントにアクセスする一般的な方法の 1 つは、SageMaker ノートブックの Jupyter
各コンポーネントの動作について、次のテキストフローで説明します。
AWS Glue SageMaker ノートブック: (Jupyter → SparkMagic) → (ネットワーク) → AWS Glue 開発エンドポイント: (Apache Livy → Apache Spark)
Jupyter Notebook 上の各段落に記述された Spark スクリプトを実行すると、Spark コードが SparkMagic 経由で Livy サーバーに送信され、「livy-session-N」という名前の Spark ジョブが Spark クラスター上で実行されます。このジョブは、Livy セッションと呼ばれます。ノートブックセッションが存続している間、Spark ジョブは実行されます。Spark ジョブは、ノートブックから Jupyter カーネルをシャットダウンしたとき、またはセッションがタイムアウトしたときに終了します。ノートブック (.ipynb) ファイルごとに 1 つの Spark ジョブが起動します。
単一の AWS Glue 開発エンドポイントで複数の SageMaker ノートブックインスタンスを使用でき ます。SageMaker ノートブックインスタンスごとに、複数のノートブックファイルを作成できます。各ノートブックファイルを開いて段落を実行すると、SparkMagic 経由で Spark クラスター上のノートブックファイルごとに Livy セッションが起動します。各 Livy セッションは、単一の Spark ジョブに対応します。
AWS Glue 開発エンドポイントと SageMaker ノートブックのデフォルトの動作
Spark ジョブは、[Spark configuration
デフォルトでは、Spark は Spark クラスター設定に基づいて Livy セッションにクラスターリソースを割り当てます。AWS Glue 開発エンドポイントでは、クラスター設定はワーカーのタイプによって異なります。ワーカータイプごとの共通設定について説明した表を次に示します。
標準 | G.1X | G.2X | |
---|---|---|---|
spark.driver.memory
|
5G | 10G | 20G |
spark.executor.memory
|
5G | 10G | 20G |
spark.executor.cores
|
4 | 8 | 16 |
spark.dynamicAllocation.enabled
|
TRUE | TRUE | TRUE |
Sparkエグゼキュターの最大数は、DPU (または NumberOfWorkers
) とワーカータイプの組み合わせによって自動的に計算されます。
標準 | G.1X | G.2X | |
---|---|---|---|
Spark エグゼキュターの最大数 |
(DPU - 1) * 2 - 1
|
(NumberOfWorkers - 1)
|
(NumberOfWorkers - 1)
|
例えば、開発エンドポイントに 10 ワーカーあり、ワーカータイプが
G.1X
の場合、Spark エグゼキュターは 9 つになり、各エグゼキュターは 10G のメモリを持つため、クラスター全体のエグゼキュターメモリは 90G になります。
指定されたワーカータイプに関係なく、Spark 動的リソース割り当てが有効になります。データセットが十分に大きい場合、spark.dynamicAllocation.maxExecutors
はデフォルトで設定されていないため、Spark はすべてのエグゼキュターを単一の Livy セッションに割り当てることができます。つまり、同じ開発エンドポイント上の他の Livy セッションは、新しいエグゼキュターの起動を待つことになります。データセットが小さい場合、Spark は同時に複数の Livy セッションにエグゼキュターを割り当てることができます。
注記
さまざまなユースケースでリソースがどのように割り当てられるか、および動作を変更するための設定方法の詳細については、「高度な設定: 複数のユーザー間で開発エンドポイントを共有する」を参照してください。