

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 di Auto Scaling per AWS Glue
<a name="auto-scaling"></a>

Il dimensionamento automatico è disponibile per il tuo ETL di AWS Glue, le sessioni interattive e i processi di streaming con AWS Glue versione 3.0 o successive.

Con Auto Scaling abilitato, otterrai i seguenti vantaggi:
+ AWS Glue aggiunge automaticamente e rimuove i lavoratori del cluster a seconda del parallelismo in ogni fase o microbatch del processo in esecuzione. 
+ Elimina la necessità di sperimentare e decidere il numero di dipendenti da assegnare per i tuoi processi ETL di AWS Glue.
+ Con il numero massimo di worker dato, AWS Glue sceglierà le risorse della dimensione giusta per il carico di lavoro.
+ È possibile vedere come cambia la dimensione del cluster durante l'esecuzione del processo esaminando le CloudWatch metriche nella pagina dei dettagli dell'esecuzione del lavoro in AWS Glue Studio.

Il dimensionamento automatico per i processi ETL di AWS Glue e i processi di streaming consentono l'aumento e la riduzione orizzontali on demand delle risorse di calcolo dei tuoi processi AWS Glue. Il dimensionamento verticale on demand consente di allocare solo le risorse di calcolo richieste inizialmente all'avvio dell'esecuzione del processo e anche di effettuare il provisioning delle risorse richieste in base alla domanda durante il processo. 

Il dimensionamento automatico supporta anche la riduzione dinamica orizzontale delle risorse dei processi AWS Glue nel corso di un processo. Durante l'esecuzione di un processo, quando vengono richiesti più esecutori dall'applicazione Spark, verrà aggiunto al cluster un numero maggiore di dipendenti. Quando l'esecutore sarà inattivo e non avrà attività di calcolo in corso, l'esecutore e il dipendente corrispondente verranno rimossi.

Gli scenari comuni in cui il dimensionamento automatico aiuta a ridurre i costi e l'utilizzo delle applicazioni Spark includono: 
+  un driver Spark che elenca un gran numero di file in Amazon S3 o esegue un caricamento mentre gli esecutori sono inattivi; 
+  le fasi Spark che vengono eseguite con pochi esecutori a causa dell'eccesso di provisioning; 
+  il disallineamento dei dati o la domanda di calcolo non uniforme tra le varie fasi di Spark. 

## Requisiti
<a name="auto-scaling-requirements"></a>

Dimensionamento automatico è disponibile solo per AWS Glue versione 3.0 o successiva. Per utilizzare Dimensionamento automatico, consulta la [Guida alla migrazione](https://docs.aws.amazon.com/glue/latest/dg/migrating-version-30.html) per migrare i processi esistenti a AWS Glue 3.0 o versioni successive oppure creare nuovi processi con AWS Glue 3.0 o versioni successive.

Il dimensionamento automatico è disponibile per i processi AWS Glue con i tipi di worker `G.1X`, `G.2X`, `G.4X`, `G.8X`, `G.12X`, `G.16X`, `R.1X`, `R.2X`, `R.4X`, `R.8X` o `G.025X` (solo per i processi di streaming). DPUs Gli standard non sono supportati per Auto Scaling.

## Abilitazione dell'Auto Scaling in AWS Glue Studio
<a name="auto-scaling-enabling"></a>

Nella scheda **Dettagli processo** in AWS Glue Studio, scegli il tipo **Spark** o **Spark Streaming** e **Versione di Glue** **Glue 3.0** o successive. In seguito, una casella di controllo verrà visualizzata sotto **Tipo di worker**.
+ Seleziona l'opzione **Dimensiona automaticamente il numero di worker**.
+ Imposta la proprietà **Numero massimo di dipendenti** per definire il numero massimo di dipendenti che possono essere ceduti all'esecuzione del processo.

![\[Abilitazione e configurazione di Auto Scaling in AWS Glue Studio.\]](http://docs.aws.amazon.com/it_it/glue/latest/dg/images/auto-scaling-enable-studio.png)


## Abilitazione dell'Auto Scaling con CLI o SDK AWS
<a name="auto-scaling-enabling-cli-sdk"></a>

Per abilitare l'Auto Scaling dalla AWS CLI per l'esecuzione del processo, esegui `start-job-run` con la seguente configurazione:

```
{
    "JobName": "<your job name>",
    "Arguments": {
        "--enable-auto-scaling": "true"
    },
    "WorkerType": "G.2X", // G.1X, G.2X, G.4X, G.8X, G.12X, G.16X, R.1X, R.2X, R.4X, and R.8X are supported for Auto Scaling Jobs
    "NumberOfWorkers": 20, // represents Maximum number of workers
    ...other job run configurations...
}
```

Una volta terminata l'esecuzione del processo ETL, puoi anche chiamare`get-job-run` per verificare l'effettivo utilizzo delle risorse del processo eseguito in secondi DPU. Nota: il nuovo campo **DPUSeconds**verrà visualizzato solo per i lavori in batch nella AWS Glue versione 4.0 o successiva abilitata con Auto Scaling. Questo campo non è supportato per i processi di streaming.

```
$ aws glue get-job-run --job-name your-job-name --run-id jr_xx --endpoint https://glue.us-east-1.amazonaws.com --region us-east-1
{
    "JobRun": {
        ...
        "GlueVersion": "3.0",
        "DPUSeconds": 386.0
    }
}
```

È inoltre possibile configurare le esecuzioni dei processi con Auto Scaling utilizzando l'[SDK AWS Glue](https://docs.aws.amazon.com/glue/latest/webapi/API_StartJobRun.html) con la stessa configurazione.

## Abilitazione del dimensionamento automatico con sessioni interattive
<a name="auto-scaling-enabling-interactive-sessions"></a>

 Per abilitare l'Auto Scaling durante la creazione di AWS Glue lavori con sessioni interattive, consulta [Configurazione delle AWS Glue](https://docs.aws.amazon.com/glue/latest/dg/interactive-sessions-magics.html) sessioni interattive. 

## Suggerimenti e considerazioni
<a name="auto-scaling-tips-and-considerations"></a>

 Suggerimenti e considerazioni per ottimizzare l'Auto Scaling AWS Glue : 
+  [Se non hai idea del valore iniziale del numero massimo di lavoratori, puoi iniziare dal calcolo approssimativo spiegato in Estimate DPU. AWS Glue](https://docs.aws.amazon.com/whitepapers/latest/aws-glue-best-practices-build-performant-data-pipeline/building-a-cost-effective-data-pipeline.html) Non è necessario configurare un valore estremamente elevato nel numero massimo di worker per dati di volume molto basso. 
+  AWS Glue Auto Scaling si configura `spark.sql.shuffle.partitions` e `spark.default.parallelism` si basa sul numero massimo di DPU (calcolato con il numero massimo di lavoratori e il tipo di lavoratore) configurato sul lavoro. Nel caso in cui preferisci il valore fisso su tali configurazioni, puoi sovrascrivere questi parametri con i seguenti parametri del processo: 
  +  **Chiave**: `--conf` 
  +  **Value (Valore)**: `spark.sql.shuffle.partitions=200 --conf spark.default.parallelism=200` 
+  Per i lavori di streaming, per impostazione predefinita, AWS Glue non esegue la scalabilità automatica all'interno di microbatch e richiede diversi micro batch per avviare la scalabilità automatica. Nel caso in cui desideri abilitare il dimensionamento automatico all'interno di micro batch, fornisci `--auto-scale-within-microbatch`. Per ulteriori informazioni, consulta [Riferimento ai parametri di processo](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-glue-arguments.html#job-parameter-reference). 

## Monitoraggio dell'Auto Scaling con i parametri di Amazon CloudWatch
<a name="auto-scaling-monitor-cloud-watch"></a>

Le metriche dell' CloudWatch executor sono disponibili per i job AWS Glue 3.0 o versioni successive se abiliti Auto Scaling. I parametri possono essere impiegati per monitorare la domanda e l'utilizzo ottimizzato degli esecutori nelle applicazioni Spark abilitate con Auto Scaling. Per ulteriori informazioni, consulta [Monitoraggio AWS Glue tramite CloudWatch parametri Amazon](monitoring-awsglue-with-cloudwatch-metrics.md).

 Puoi anche utilizzare metriche di AWS Glue osservabilità per ottenere informazioni sull'utilizzo delle risorse. Ad esempio, tramite il monitoraggio di `glue.driver.workerUtilization`, puoi tracciare la quantità di risorse effettivamente utilizzate con e senza il dimensionamento automatico. Un altro esempio: monitorando `glue.driver.skewness.job` e `glue.driver.skewness.stage`, puoi osservare come i dati sono disallineati. Queste informazioni ti aiuteranno a decidere di abilitare il dimensionamento automatico ed eseguire il fine-tuning delle configurazioni. Per ulteriori informazioni, consulta Monitoring with [Monitoraggio con parametri AWS Glue di osservabilità](monitor-observability.md). 
+ colla.driver. ExecutorAllocationManager.esecutori. numberAllExecutors
+ colla.driver. ExecutorAllocationManager.esecutori. numberMaxNeededEsecutori

Per ulteriori dettagli su questi parametri, consulta [Monitoraggio per la pianificazione della capacità DPU](monitor-debug-capacity.md).

**Nota**  
 CloudWatch le metriche degli esecutori non sono disponibili per le sessioni interattive. 

![\[Monitoraggio dell'Auto Scaling con i parametri di Amazon CloudWatch .\]](http://docs.aws.amazon.com/it_it/glue/latest/dg/images/auto-scaling-monitor-metrics.png)


## Monitoraggio dell'Auto Scaling con Amazon Logs CloudWatch
<a name="auto-scaling-monitor-cloudwatch-logs"></a>

 Se utilizzi sessioni interattive, puoi monitorare il numero di executor abilitando Amazon CloudWatch Logs continui e cercando «executor» nei log o utilizzando l'interfaccia utente Spark. Per fare ciò, usa il comando magico `%%configure` per abilitare la registrazione continua insieme a `enable auto scaling`. 

```
%%configure{
    "--enable-continuous-cloudwatch-log": "true",
    "--enable-auto-scaling": "true"
}
```

 Negli CloudWatch eventi di Amazon Logs, cerca «executor» nei log: 

![\[Monitoraggio dell'Auto Scaling con i parametri di Amazon CloudWatch .\]](http://docs.aws.amazon.com/it_it/glue/latest/dg/images/cloudwatch-metrics-search-executor.png)


## Monitoraggio di Auto Scaling con interfaccia utente di Spark
<a name="auto-scaling-monitor-spark-ui"></a>

 Con Auto Scaling abilitato, puoi anche monitorare gli esecutori aggiunti e rimossi con il dimensionamento automatico verso l'alto e la riduzione verticale in base alla domanda nei tuoi processi AWS Glue l'interfaccia utente di Spark Glue. Per ulteriori informazioni, consulta [Abilitazione dell'interfaccia utente Web di Apache Spark per processi AWS Glue](monitor-spark-ui-jobs.md).

 Quando utilizzi sessioni interattive dal notebook Jupyter, puoi eseguire il comando magico per abilitare il dimensionamento automatico insieme all'interfaccia utente Spark: 

```
%%configure{
    "--enable-auto-scaling": "true",
    "--enable-continuous-cloudwatch-log": "true"
}
```

![\[Monitoraggio di Auto Scaling con l'interfaccia utente Spark.\]](http://docs.aws.amazon.com/it_it/glue/latest/dg/images/auto-scaling-monitor-spark-ui.png)


## Monitoraggio dell'utilizzo della DPU di esecuzione del processo Auto Scaling
<a name="auto-scaling-monitor-dpu-usage"></a>

È possibile utilizzare la [Vista esecuzione dei processi AWS Glue Studio](https://docs.aws.amazon.com/glue/latest/ug/monitoring-chapter.html) per controllare l'utilizzo della DPU da parte dei processi di dimensionamento automatico.

1. Scegli **Monitoraggio** dal pannello di AWS Glue Studio navigazione. Viene visualizzata la pagina Monitoraggio.

1. Scorri in basso fino all'elenco Job runs (Esecuzioni processo).

1. Passa all'esecuzione del processo che ti interessa e scorri fino alla colonna ore DPU per verificare l'utilizzo per l'esecuzione specifica del processo.

## Limitazioni
<a name="auto-scaling-limitations"></a>

AWS GlueLo streaming Auto Scaling attualmente non supporta un DataFrame join in streaming con un elemento statico DataFrame creato all'esterno di. `ForEachBatch` Una statica DataFrame creata all'interno di `ForEachBatch` funzionerà come previsto.