Spark 構成テンプレートは、ジョブのグローバルなデフォルト設定を定義します。テンプレートを作成・編集・管理することで、Spark 設定を一元化し、一貫性があり柔軟なジョブ実行を実現できます。
前提条件
ワークスペースを作成しました。詳細については、「ワークスペースの管理」をご参照ください。
構成テンプレートの作成
-
構成管理ページに移動します。
-
E-MapReduce コンソール にログインします。
-
左側のナビゲーションウィンドウで、EMR Serverless > Spark を選択します。
-
Spark ページで、対象のワークスペース名をクリックします。
-
EMR Serverless Spark ページで、左側のナビゲーションウィンドウの Configurations をクリックします。
-
-
Task Templates ページで、テンプレートの作成 をクリックします。
-
Create Task Template ページで、以下のパラメーターを設定し、create をクリックします。
パラメーター
説明
テンプレート名
テンプレートの名前を入力します。
Engine Version
コンピューティング環境のエンジンバージョンです。詳細については、「エンジンバージョン」をご参照ください。
タイムアウト期間
ジョブの最大ランタイムです。
説明ジョブを送信する際、
spark.emr.serverless.jr.timeout=-1パラメーターを渡すことで、テンプレートのタイムアウト設定をオーバーライドし、ジョブを無期限に実行できます。spark.driver.cores
ドライバープロセスに割り当てる CPU コア数です。
spark.driver.memory
ドライバープロセスが使用可能なメモリ量です。
spark.executor.cores
各エグゼキュータに割り当てる CPU コア数です。
spark.executor.memory
各エグゼキュータが使用可能なメモリ量です。
spark.executor.instances
Spark が割り当てるエグゼキュータの数です。
Dynamic Resource Allocation
デフォルトでは無効です。有効にした場合、以下のパラメーターを設定します。
-
Minimum Number of Executors:デフォルト値は 2 です。
-
Maximum Number of Executors:spark.executor.instances が設定されていない場合、デフォルト値は 10 です。
More Memory Configurations
-
spark.driver.memoryOverhead:ドライバーが使用可能な非ヒープメモリです。このパラメーターが設定されていない場合、Spark はデフォルトに基づき自動的に値を割り当てます。その値は
max(384 MB, 10% * spark.driver.memory)です。 -
spark.executor.memoryOverhead:各エグゼキュータが使用可能な非ヒープメモリです。このパラメーターが設定されていない場合、Spark はデフォルトに基づき自動的に値を割り当てます。その値は
max(384 MB, 10% * spark.executor.memory)です。 -
spark.memory.offHeap.size:Spark が使用可能なオフヒープメモリ量です。デフォルト値は 1 GB です。
このパラメーターは、
spark.memory.offHeap.enabledがtrueに設定されている場合にのみ有効です。Fusion エンジンを使用する場合、この機能はデフォルトで有効になり、1 GB のオフヒープメモリが割り当てられます。
Spark Configuration
カスタム Spark 構成プロパティです。キーと値のペアはスペースで区切って記述します。例:
spark.sql.catalog.paimon.metastore dlf。EMR Serverless Spark には、サービス固有の組み込みパラメーターがいくつか用意されています。詳細については、「カスタム Spark Conf パラメーター」をご参照ください。
-
構成テンプレートを作成後、**[操作]** 列の 編集 または 削除 をクリックして、テンプレートを変更または削除できます。
構成テンプレートの使用
データ開発
Load from template でバッチジョブまたはストリーミングジョブを開発する際、Load from template ドロップダウンリストから既存の構成テンプレートを選択できます。システムは選択したテンプレートのパラメーターを自動的に読み込みます。

CLI
spark-submit を使用してジョブを送信する際、--conf オプション内で spark.emr.serverless.templateId パラメーターにテンプレートIDを指定できます。システムはテンプレートのパラメーターを読み込み、Spark アプリケーションのデフォルトとして適用します。
例:
spark-submit \
--class org.apache.spark.examples.SparkPi \
--master yarn \
--conf spark.emr.serverless.templateId=<template_id> \
/path/to/your/spark-job.jar
上記コマンドの <template_id> はテンプレートIDです。Task Templates ページでテンプレートIDを確認できます。
Livy Gateway
Create Livy Gateway を作成する際、ページ右上隅の Load from template ドロップダウンリストから既存の構成テンプレートを選択できます。システムは選択したテンプレートのパラメーターを自動的に読み込みます。
Kyuubi Gateway
Create Kyuubi Gateway を作成する際、ページ右上隅の Load from template ドロップダウンリストから既存の構成テンプレートを選択できます。システムは選択したテンプレートのパラメーターを自動的に読み込みます。
システムデフォルトへのリセット
構成テンプレートをシステムデフォルトにリセットするには、次の手順を実行します。
-
Task Templates タブで、**[操作]** 列の 編集 をクリックします。
-
Edit Task Template ページで、ページ下部の Reset to system defaults をクリックし、その後 Save Changes をクリックします。
デフォルトテンプレートの変更
別の構成テンプレートをデフォルトとして設定するには、次の手順を実行します。
-
Task Templates ページで、**[操作]** 列の Set as default をクリックします。
-
表示されるダイアログボックスで、OK をクリックします。