Spark 構成テンプレートは、タスク実行のためのグローバルなデフォルト構成を定義します。これらのテンプレートを作成、編集、管理することで、タスクの一貫性と柔軟性を確保して実行できます。テンプレートは、さまざまなビジネスニーズに合わせて動的な更新もサポートしています。
前提条件
ワークスペースが作成されている必要があります。詳細については、「ワークスペースの管理」をご参照ください。
構成テンプレートの作成
構成管理ページに移動します。
E-MapReduce コンソールにログインします。
左側のナビゲーションウィンドウで、 を選択します。
[Spark] ページで、対象のワークスペースの名前をクリックします。
[EMR Serverless Spark] ページで、左側のナビゲーションウィンドウにある [構成管理] をクリックします。
[Spark 構成テンプレート] ページで、[テンプレートの作成] をクリックします。
[構成テンプレートの作成] ページで、次のパラメーターを設定し、[作成] をクリックします。
パラメーター
説明
テンプレート名
カスタマイズ可能です。
エンジンバージョン
現在のコンピュートエンジンで使用されるエンジンバージョンです。エンジンバージョンの詳細については、「エンジンバージョン」をご参照ください。
タイムアウト
タスクの完了が許可される最大時間です。
説明タスクを送信する際に、
spark.emr.serverless.jr.timeout=-1を設定してテンプレートのタイムアウト構成を上書きし、タスクの時間制限を解除できます。spark.driver.cores
Spark アプリケーションのドライバープロセスに使用する CPU コアの数を指定します。
spark.driver.memory
Spark アプリケーションのドライバープロセスに使用するメモリ量を指定します。
spark.executor.cores
各エグゼキュータプロセスに使用する CPU コアの数を指定します。
spark.executor.memory
各エグゼキュータプロセスに使用するメモリ量を指定します。
spark.executor.instances
Spark に割り当てるエグゼキュータの数です。
動的リソース割り当て
デフォルトでは、この機能は無効になっています。この機能を有効にした後、次のパラメーターを設定する必要があります:
最小エグゼキュータ数: デフォルト値: 2。
最大エグゼキュータ数: spark.executor.instances パラメーターを設定しない場合、デフォルト値の 10 が使用されます。
その他のメモリ構成
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 エンジンを使用する場合、spark.memory.offHeap.enabled パラメーターは true に設定され、spark.memory.offHeap.size パラメーターは 1 GB に設定されます。
Spark 構成
Spark の構成です。構成はスペースで区切ります (例:
spark.sql.catalog.paimon.metastore dlf)。Serverless Spark は、複数の組み込みパラメーターを提供します。これらのパラメーターの名前、説明、シナリオの詳細については、「カスタム Spark Conf パラメーター」をご参照ください。
構成テンプレートが作成された後、[操作] 列の [編集] または [削除] をクリックして、テンプレートを修正または削除できます。
構成テンプレートの使用
データ開発での構成の読み込み
バッチまたはストリーム処理ジョブを開発する際に、[テンプレートから構成を読み込む] パラメーターを設定して、既存の構成テンプレートを使用できます。システムは選択されたテンプレートから構成パラメーターを自動的に読み込みます。これにより、構成プロセスが簡素化され、一貫性が確保されます。

spark-submit ツールを使用した構成の読み込み
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 は [Spark 構成テンプレート] ページで取得できます。
Livy Gateway 経由での構成の読み込み
Livy Gateway を作成する際に、[Livy Gateway の作成] ページの右上隅にある [テンプレートから構成を読み込む] パラメーターを設定して、既存の構成テンプレートを使用できます。システムは選択されたテンプレートから構成パラメーターを自動的に読み込みます。これにより、構成プロセスが簡素化され、一貫性が確保されます。
Kyuubi Gateway 経由での構成の読み込み
Kyuubi Gateway を作成する際に、[Kyuubi Gateway の作成] ページの右上隅にある [テンプレートから構成を読み込む] パラメーターを設定して、既存の構成テンプレートを使用できます。システムは選択されたテンプレートから構成パラメーターを自動的に読み込みます。これにより、構成プロセスが簡素化され、一貫性が確保されます。
デフォルト構成の復元
構成テンプレートのパラメーターをシステムのデフォルト値にリセットするには、次の手順に従います:
[Spark 構成テンプレート] ページで、[操作] 列の [編集] をクリックします。
[構成テンプレートの編集] ページで、下部にある [デフォルト構成の復元] をクリックし、次に [変更を保存] をクリックします。
デフォルトテンプレートの変更
構成テンプレートをデフォルトとして設定するには、次の手順に従います:
[Spark 構成テンプレート] ページで、[操作] 列の [デフォルトとして設定] をクリックします。
表示されるダイアログボックスで、[OK] をクリックします。