Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Verwenden von für Shuffle optimierten Festplatten
Verwenden Sie mit Amazon EMR-Versionen 7.1.0 und höher Shuffle-optimierte Festplatten, wenn Sie Apache Spark- oder Hive-Jobs ausführen, um die Leistung für Workloads zu verbessern. I/O-intensive Im Vergleich zu Standardfestplatten bieten Shuffle-optimierte Festplatten höhere IOPS (I/O Operationen pro Sekunde) für schnellere Datenbewegungen und eine geringere Latenz bei Shuffle-Vorgängen. Shuffle-optimized Mit Festplatten können Sie Festplattengrößen von bis zu 2 TB pro Mitarbeiter hinzufügen. Konfigurieren Sie also die Kapazität, die Ihren Workload-Anforderungen entspricht.
Wichtigste Vorteile
Shuffle-optimized Festplatten bieten die folgenden Vorteile.
-
Hoher IOPS und hoher Durchsatz — Shuffle-optimized Festplatten übertreffen Standardfestplatten sowohl bei IOPS als auch beim Durchsatz, was sich positiv auf alle I/O-heavy Operationen auswirkt: Datenaustausch, Datenverlust, Sortierphasen und temporäre Datenmaterialisierung bei Spark- und Hive-Jobs.
-
Skalierte Festplattenleistung — Für große Mitarbeiter (8 vCPUs und mehr) bieten Shuffle-optimierte Festplatten, wenn möglich, proportional höhere IOPS und einen höheren Durchsatz in jedem Schritt von 500 GB, sodass die Festplattenleistung stets an Ihre Rechenkapazität angepasst ist.
-
Größere Festplattengröße — Shuffle-optimized Festplatten unterstützen Festplattengrößen von 20 GB bis 2 TB pro Mitarbeiter. Wählen Sie daher die für Ihre Workloads geeignete Kapazität.
Erste Schritte
Sehen Sie sich die folgenden Schritte an, um für Shuffle optimierte Festplatten in Ihren Workflows zu verwenden.
- Spark
-
-
Erstellen Sie mit dem folgenden Befehl eine EMR Serverless Release 7.1.0-Anwendung.
aws emr-serverless create-application \
--type "SPARK" \
--name my-application-name \
--release-label emr-7.1.0 \
--region <AWS_REGION>
-
Konfigurieren Sie Ihren Spark-Job so, dass er die Parameter für die Ausführung mit spark.emr-serverless.driver.disk.type and/or spark.emr-serverless.executor.disk.type für Shuffle optimierten Festplatten enthält. Sie können je nach Anwendungsfall entweder einen oder beide Parameter verwenden.
aws emr-serverless start-job-run \
--application-id application-id \
--execution-role-arn job-role-arn \
--job-driver '{
"sparkSubmit": {
"entryPoint": "/usr/lib/spark/examples/jars/spark-examples.jar",
"entryPointArguments": ["1"],
"sparkSubmitParameters": "--class org.apache.spark.examples.SparkPi
--conf spark.executor.cores=4
--conf spark.executor.memory=20g
--conf spark.driver.cores=4
--conf spark.driver.memory=8g
--conf spark.executor.instances=1
--conf spark.emr-serverless.executor.disk.type=shuffle_optimized"
}
}'
Weitere Informationen finden Sie unter Spark-Jobeigenschaften.
- Hive
-
-
Erstellen Sie mit dem folgenden Befehl eine EMR Serverless Release 7.1.0-Anwendung.
aws emr-serverless create-application \
--type "HIVE" \
--name my-application-name \
--release-label emr-7.1.0 \
--region <AWS_REGION>
-
Konfigurieren Sie Ihren Hive-Job so, dass er die Parameter für die Ausführung mit für den Shuffle-Modus hive.driver.disk.type and/or hive.tez.disk.type optimierten Festplatten enthält. Sie können je nach Anwendungsfall entweder einen oder beide Parameter verwenden.
aws emr-serverless start-job-run \
--application-id application-id \
--execution-role-arn job-role-arn \
--job-driver '{
"hive": {
"query": "s3://<DOC-EXAMPLE-BUCKET>/emr-serverless-hive/query/hive-query.ql",
"parameters": "--hiveconf hive.log.explain.output=false"
}
}' \
--configuration-overrides '{
"applicationConfiguration": [{
"classification": "hive-site",
"properties": {
"hive.exec.scratchdir": "s3://<DOC-EXAMPLE-BUCKET>/emr-serverless-hive/hive/scratch",
"hive.metastore.warehouse.dir": "s3://<DOC-EXAMPLE-BUCKET>/emr-serverless-hive/hive/warehouse",
"hive.driver.cores": "2",
"hive.driver.memory": "4g",
"hive.tez.container.size": "4096",
"hive.tez.cpu.vcores": "1",
"hive.driver.disk.type": "shuffle_optimized",
"hive.tez.disk.type": "shuffle_optimized"
}
}]
}'
Weitere Informationen finden Sie unter Hive-Jobeigenschaften.
Konfiguration einer Anwendung mit vorinitialisierter Kapazität
Sehen Sie sich die folgenden Beispiele an, um Anwendungen zu erstellen, die auf Amazon EMR Version 7.1.0 basieren. Diese Anwendungen haben die folgenden Eigenschaften:
-
5 vorinitialisierte Spark-Treiber mit jeweils 2 vCPUs, 4 GB Arbeitsspeicher und 50 GB Shuffle-optimierter Festplatte.
-
50 vorinitialisierte Executoren mit jeweils 4 vCPUs, 8 GB Arbeitsspeicher und 500 GB Shuffle-optimierter Festplatte.
Wenn diese Anwendung Spark-Jobs ausführt, verbraucht sie zuerst die vorinitialisierten Worker und skaliert dann die On-Demand-Worker auf die maximale Kapazität von 400 vCPU und 1024 GB Arbeitsspeicher. Optional können Sie die Kapazität für entweder oder weglassen. DRIVER EXECUTOR
- Spark
-
aws emr-serverless create-application \
--type "SPARK" \
--name <my-application-name> \
--release-label emr-7.1.0 \
--initial-capacity '{
"DRIVER": {
"workerCount": 5,
"workerConfiguration": {
"cpu": "2vCPU",
"memory": "4GB",
"disk": "50GB",
"diskType": "SHUFFLE_OPTIMIZED"
}
},
"EXECUTOR": {
"workerCount": 50,
"workerConfiguration": {
"cpu": "4vCPU",
"memory": "8GB",
"disk": "500GB",
"diskType": "SHUFFLE_OPTIMIZED"
}
}
}' \
--maximum-capacity '{
"cpu": "400vCPU",
"memory": "1024GB"
}'
- Hive
-
aws emr-serverless create-application \
--type "HIVE" \
--name <my-application-name> \
--release-label emr-7.1.0 \
--initial-capacity '{
"DRIVER": {
"workerCount": 5,
"workerConfiguration": {
"cpu": "2vCPU",
"memory": "4GB",
"disk": "50GB",
"diskType": "SHUFFLE_OPTIMIZED"
}
},
"EXECUTOR": {
"workerCount": 50,
"workerConfiguration": {
"cpu": "4vCPU",
"memory": "8GB",
"disk": "500GB",
"diskType": "SHUFFLE_OPTIMIZED"
}
}
}' \
--maximum-capacity '{
"cpu": "400vCPU",
"memory": "1024GB"
}'