

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
<a name="jobs-serverless-storage"></a>

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
<a name="jobs-serverless-storage-key-benefits"></a>

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
<a name="jobs-serverless-storage-getting-started"></a>

Consulta i seguenti passaggi per utilizzare lo storage serverless per EMR Serverless nei flussi di lavoro Spark.

1. **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" \
     --name my-application \
     --release-label emr-7.12.0 \
     --runtime-configuration '[{
         "classification": "spark-defaults",
           "properties": {
             "spark.aws.serverlessStorage.enabled": "true"
           }
       }]' \
     --region <AWS_REGION>
   ```

1. **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.enabled` Spark 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.enabled` configurazione o impostala su false.** 

## Considerazioni e limitazioni
<a name="jobs-serverless-storage-limitations"></a>
+ **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
<a name="jobs-serverless-storage-regions"></a>

EMR Serverless supporta lo storage serverless nelle seguenti regioni:
+ Stati Uniti orientali (Virginia settentrionale)
+ Stati Uniti occidentali (Oregon)
+ Europa (Irlanda)