

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# StartJobRun API による Spark SQL スクリプトの実行
<a name="emr-eks-jobs-spark-sql-parameters"></a>

Amazon EMR on EKS リリース 6.7.0 以降には Spark SQL ジョブドライバーが含まれているため、`StartJobRun` API を使用して Spark SQL スクリプトを実行できます。SQL エントリポイントファイルを提供することで、既存の Spark SQL スクリプトを変更することなく、`StartJobRun` API を使用して Amazon EMR on EKS で Spark SQL クエリを直接実行できます。以下の表は、StartJobRun API を使用して Spark SQL ジョブでサポートされている Spark パラメータの一覧です。

Spark SQL ジョブに送信するパラメータは、以下の Spark パラメータから選択できます。これらのパラメータを使用して、Spark プロパティのデフォルトを上書きします。


| オプション | 説明 | 
| --- | --- | 
| --name NAME | アプリケーション名 | 
| --jars JARS | ドライバーと実行クラスパスに含める jar のカンマ区切りリスト。 | 
| --packages | ドライバーとエグゼキュータークラスパスに含める jar の Maven 座標のカンマ区切りリスト。 | 
| --exclude-packages | –packages で提供される依存関係を解決する際に除外して、依存関係の競合を回避する groupId:artifactId のカンマ区切りリスト。 | 
| --repositories | —packages で与えられた Maven 座標を検索するための追加のリモートリポジトリのカンマ区切りリスト。 | 
| --files FILES | 各エグゼキューターの作業ディレクトリに配置されるファイルのカンマ区切りリスト。 | 
| --conf PROP=VALUE | Spark 設定プロパティ。 | 
| --properties-file FILE | 追加プロパティを読み込むファイルへのパス。 | 
| --driver-memory MEM | ドライバー用メモリ。デフォルト 1024 MB。 | 
| --driver-java-options | ドライバーに渡す追加の Java オプション。 | 
| --driver-library-path | ドライバーに渡す追加のライブラリパスエントリ。 | 
| --driver-class-path | ドライバーに渡す追加のクラスパスエントリ。 | 
| --executor-memory MEM | エグゼキューターあたりのメモリ。デフォルト 1GB。 | 
| --driver-cores NUM | ドライバーが使用するコアの数。 | 
| --total-executor-cores NUM | すべてのエグゼキューターの合計コア。 | 
| --executor-cores NUM | 各エグゼキューターが使用するコアの数。 | 
| --num-executors NUM | 起動するエグゼキューターの数。 | 
| -hivevar <key=value> | Hive コマンドに適用する変数置換。例: -hivevar A=B | 
| -hiveconf <property=value> | 指定したプロパティに使用する値。 | 

Spark SQL ジョブの場合、start-job-run-request.json ファイルを作成し、以下の例に示すように、ジョブ実行に必要なパラメータを指定します。

```
{
  "name": "{{myjob}}", 
  "virtualClusterId": "{{123456}}",  
  "executionRoleArn": "{{iam_role_name_for_job_execution}}", 
  "releaseLabel": "{{emr-6.7.0-latest}}", 
  "jobDriver": {
    "sparkSqlJobDriver": {
      "entryPoint": "{{entryPoint_location}}",
       "sparkSqlParameters": "--conf spark.executor.instances=2 --conf spark.executor.memory=2G --conf spark.executor.cores=2 --conf spark.driver.cores=1"
    }
  }, 
  "configurationOverrides": {
    "applicationConfiguration": [
      {
        "classification": "spark-defaults", 
        "properties": {
          "spark.driver.memory":"2G"
         }
      }
    ], 
    "monitoringConfiguration": {
      "persistentAppUI": "ENABLED", 
      "cloudWatchMonitoringConfiguration": {
        "logGroupName": "{{my_log_group}}", 
        "logStreamNamePrefix": "{{log_stream_prefix}}"
      }, 
      "s3MonitoringConfiguration": {
        "logUri": "s3://{{my_s3_log_location}}"
      }
    }
  }
}
```