将 Java 17 与 Amazon EMR Serverless 结合使用
在 Amazon EMR 6.11.0 及更高版本中,您可以将 EMR Serverless Spark 作业配置为使用 Java 虚拟机(JVM)的 Java 17 运行时。使用以下方法之一配置 Spark 与 Java 17。
JAVA_HOME
要覆盖 EMR Serverless 6.11.0 及更高版本的 JVM 设置,可以向其 spark.emr-serverless.driverEnv
和 spark.executorEnv
环境分类提供 JAVA_HOME
设置。
- x86_64
-
设置所需的属性以指定 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_64
-
设置所需的属性以指定 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
或者,您也可以在 spark-defaults
分类中指定 Java 17,以覆盖 EMR Serverless 6.11.0 及更高版本的 JVM 设置。
- x86_64
-
在 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_64
-
在 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/"
}
}
]
}