

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 将 Java 17 与 Amazon EMR Serverless 结合使用
<a name="using-java-runtime"></a>

在 Amazon EMR 6.11.0 及更高版本中，请将 EMR Serverless Spark 作业配置为使用 Java 虚拟机 (JVM) 的 Java 17 运行时。使用以下方法之一配置 Spark 与 Java 17。

## `JAVA_HOME`
<a name="using-java-runtime-java-home"></a>

要覆盖 EMR Serverless 6.11.0 及更高版本的 JVM 设置，请向其 `spark.emr-serverless.driverEnv` 和 `spark.executorEnv` 环境分类提供 `JAVA_HOME` 设置。

------
#### [ x86\$164 ]

设置所需的属性以指定 Java 17 作为 Spark 驱动程序和执行程序的 `JAVA_HOME` 配置：

```
--conf spark.emr-serverless.driverEnv.JAVA_HOME=/usr/lib/jvm/java-17-amazon-corretto.x86_64/ 
--conf spark.executorEnv.JAVA_HOME=/usr/lib/jvm/java-17-amazon-corretto.x86_64/
```

------
#### [ arm\$164 ]

设置所需的属性以指定 Java 17 作为 Spark 驱动程序和执行程序的 `JAVA_HOME` 配置：

```
--conf spark.emr-serverless.driverEnv.JAVA_HOME=/usr/lib/jvm/java-17-amazon-corretto.aarch64/
--conf spark.executorEnv.JAVA_HOME=/usr/lib/jvm/java-17-amazon-corretto.aarch64/
```

------

## `spark-defaults`
<a name="using-java-runtime-spark-defaults"></a>

或者，您也可以在 `spark-defaults` 分类中指定 Java 17，以覆盖 EMR Serverless 6.11.0 及更高版本的 JVM 设置。

------
#### [ x86\$164 ]

在 `spark-defaults` 分类中指定 Java 17：

```
{
"applicationConfiguration": [ 
         { 
            "classification": "spark-defaults",
            "properties": { 
               "spark.emr-serverless.driverEnv.JAVA_HOME" : "/usr/lib/jvm/java-17-amazon-corretto.x86_64/",
               "spark.executorEnv.JAVA_HOME": "/usr/lib/jvm/java-17-amazon-corretto.x86_64/" 
            }
         }
      ]
}
```

------
#### [ arm\$164 ]

在 `spark-defaults` 分类中指定 Java 17：

```
{
"applicationConfiguration": [ 
         { 
            "classification": "spark-defaults",
            "properties": { 
               "spark.emr-serverless.driverEnv.JAVA_HOME" : "/usr/lib/jvm/java-17-amazon-corretto.aarch64/",
               "spark.executorEnv.JAVA_HOME": "/usr/lib/jvm/java-17-amazon-corretto.aarch64/" 
            }
         }
      ]
}
```

------