Spark 設定テンプレートは、ジョブのグローバルなデフォルト設定を定義します。テンプレートを作成、編集、管理して Spark 設定を一元化することで、一貫性と柔軟性を確保しながらジョブを実行できます。
前提条件
ワークスペースが作成されました。詳細については、「ワークスペースの管理」をご参照ください。
設定テンプレートの作成
-
設定管理ページに移動します。
-
E-MapReduce console にログインします。
-
左側のナビゲーションペインで、[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 パラメーター」をご参照ください。
設定テンプレートを作成した後、[Actions] 列の 編集 または 削除 をクリックして、テンプレートを変更または削除できます。
設定テンプレートの使用
データ開発
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 です。テンプレート ID は Task Templates ページで取得できます。
Livy Gateway
Create Livy Gateway では、ページ右上隅の Load from template ドロップダウンリストから既存の設定テンプレートを選択できます。システムは、選択したテンプレートからパラメーターを自動的に読み込みます。
Kyuubi Gateway
Create Kyuubi Gateway では、ページの右上隅にある Load from template ドロップダウンリストから既存の設定テンプレートを選択できます。システムは、選択したテンプレートからパラメーターを自動的に読み込みます。
システムデフォルトへのリセット
設定テンプレートをシステムデフォルトにリセットするには、次の手順を実行します。
-
Task Templates タブで、[Actions] 列の 編集 をクリックします。
-
Edit Task Template ページで、ページ下部の Reset to system defaults をクリックし、続いて Save Changes をクリックします。
デフォルトテンプレートの変更
別の設定テンプレートをデフォルトとして設定するには、次の手順を実行します。
-
Task Templates ページで、[Actions] 列の Set as default をクリックします。
-
表示されるダイアログボックスで、OK をクリックします。