Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Utilizzo dello storage serverless per Amazon EMR Serverless
Con le versioni 7.12 e successive di Amazon EMR, utilizza lo storage serverless quando esegui i job Apache Spark per eliminare il provisioning locale del disco, ridurre i costi di elaborazione dei dati e prevenire gli errori dei lavori dovuti ai vincoli di capacità del disco. Lo storage serverless gestisce automaticamente le operazioni di shuffle, perdita del disco e memorizzazione nella cache del disco per i processi senza richiedere la configurazione della capacità e archivia i dati intermedi senza alcun costo. Amazon EMR Serverless archivia i dati intermedi in uno storage serverless completamente gestito che si ridimensiona automaticamente in base alle richieste del carico di lavoro e consente a Spark di rilasciare gli elaboratori immediatamente quando sono inattivi, riducendo i costi di elaborazione.
Vantaggi principali
Lo storage serverless per EMR Serverless offre i seguenti vantaggi.
-
Storage a configurazione zero: lo storage serverless elimina la necessità di configurare il tipo e la dimensione del disco locale per ogni applicazione o processo. EMR Serverless gestisce automaticamente le operazioni intermedie sui dati senza pianificazione della capacità.
-
Previene gli errori dei processi grazie alla scalabilità automatica: la capacità di storage si ridimensiona automaticamente in base alla richiesta del carico di lavoro, evitando errori di lavoro dovuti all'insufficiente capacità del disco.
-
Costi di elaborazione dei dati ridotti: lo storage serverless riduce i costi di elaborazione attraverso due meccanismi. Innanzitutto, lo storage intermedio dei dati viene fornito gratuitamente: si paga solo per le risorse di calcolo e di memoria. In secondo luogo, lo storage disaccoppiato con l'allocazione dinamica delle risorse di Spark consente a Spark di rilasciare immediatamente i dipendenti quando sono inattivi anziché conservarli per conservare i dati intermedi sui dischi locali. Ciò consente una scalabilità orizzontale e orizzontale più rapide per fase Spark, riducendo i costi di elaborazione per i lavori in cui le fasi successive richiedono meno lavoratori rispetto alle fasi iniziali.
-
Storage crittografato con isolamento a livello di processo: tutti i dati intermedi vengono crittografati in transito e a riposo con un rigoroso isolamento a livello di processo.
-
Supporto granulare per il controllo degli accessi: lo storage serverless supporta il controllo granulare degli accessi tramite l'integrazione con AWS Lake Formation.
Nozioni di base
Consulta i seguenti passaggi per utilizzare lo storage serverless per EMR Serverless nei flussi di lavoro Spark.
-
Creazione di un'applicazione EMR Serverless
Crea un'applicazione EMR Serverless release 7.12 (o successiva) con storage serverless abilitato impostando la proprietà spark su true nella classificazione spark-defaults
spark.aws.serverlessStorage.enabled.aws emr-serverless create-application \ --type "SPARK" \ --namemy-application\ --release-label emr-7.12.0 \ --runtime-configuration '[{ "classification": "spark-defaults", "properties": { "spark.aws.serverlessStorage.enabled": "true" } }]' \ --region<AWS_REGION> -
Avvia un job Spark
Avvia un job eseguito sulla tua applicazione. Storage serverless per EMR Serverless gestisce automaticamente le operazioni intermedie sui dati, ad esempio lo shuffle per il lavoro.
aws emr-serverless start-job-run \ --application-id<application-id>\ --execution-role-arn<job-role-arn>\ --job-driver '{ "sparkSubmit": { "entryPoint": "s3://<bucket>/script.py", "sparkSubmitParameters": "--conf spark.executor.cores=4 --conf spark.executor.memory=20g --conf spark.driver.cores=4 --conf spark.driver.memory=8g --conf spark.executor.instances=10" } }'È inoltre possibile abilitare lo storage serverless per EMR Serverless a livello di processo anche quando non è abilitato a livello di applicazione. In questo modo verranno avviati nodi di lavoro dotati di storage serverless per elaborare i lavori. Puoi anche disabilitare lo storage serverless per un lavoro specifico impostando la stessa proprietà
spark.aws.serverlessStorage.enabledSpark su false.# Turn on serverless storage for EMR serverless for a specific job 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.aws.serverlessStorage.enabled": "true" } }'Nota
Per continuare a utilizzare il tradizionale provisioning locale del disco, ometti la
spark.aws.serverlessStorage.enabledconfigurazione o impostala su false.
Considerazioni e limitazioni
-
Versione di rilascio: lo storage serverless è supportato su Amazon EMR versione 7.12 e successive.
-
Limiti del volume di dati: ogni processo può leggere e scrivere fino a un totale di 200 GB di dati intermedi per esecuzione del processo. I lavori che superano questo limite avranno esito negativo e verrà visualizzato un messaggio di errore che indica che è stato raggiunto il limite di storage serverless.
-
Job Execution Timeout: lo storage serverless supporta lavori con timeout di esecuzione fino a 24 ore. I lavori configurati per timeout di esecuzione più lunghi falliranno e verrà visualizzato un messaggio di errore.
-
Capacità preinizializzata: i capacity worker preinizializzati non supportano lo storage senza server. Quando si configura la capacità preinizializzata, questa verrà utilizzata solo dai processi che disabilitano esplicitamente lo storage serverless a livello di processo. I lavori con storage serverless abilitato forniranno sempre nuovi lavoratori su richiesta e non utilizzeranno alcuna capacità preinizializzata, indipendentemente dalla configurazione a livello di applicazione.
-
Tipi di carichi di lavoro: lo storage serverless non è supportato per lo streaming e i lavori interattivi.
-
Configurazione Worker: lo storage serverless non è supportato per i lavoratori con 1 o 2 v. CPUs
Supportato Regioni AWS
EMR Serverless supporta lo storage serverless nelle seguenti regioni:
-
Stati Uniti orientali (Virginia settentrionale)
-
Stati Uniti occidentali (Oregon)
-
Europa (Irlanda)