Dimensionare le risorse di calcolo in Azure Synapse Analytics

Completato

Una delle funzionalità di gestione disponibili chiave all'interno di Azure Synapse Analytics è la possibilità di ridimensionare le risorse di calcolo per i pool SQL o Spark per soddisfare le esigenze di elaborazione dei dati. Nei pool SQL l'unità di scala è un'astrazione della potenza di calcolo nota come unità Data Warehouse. Poiché le risorse di calcolo sono separate dall'archiviazione, è possibile ridimensionarle indipendentemente dai dati presenti nel sistema. È quindi possibile aumentare o ridurre la potenza di calcolo in base alle proprie esigenze.

È possibile dimensionare un pool SQL di Azure Synapse tramite il portale di Azure o Azure Synapse Studio oppure a livello di codice usando T-SQL o PowerShell.

Nel portale di Azure è possibile fare clic sull'icona Dimensiona.

Scale compute in the Azure portal.

È quindi possibile usare il dispositivo di scorrimento per dimensionare il pool SQL

Using the slider scale compute in the Azure portal.

Per eseguire il ridimensionamento, è anche possibile fare clic sull'icona Dimensiona in Azure Synapse Studio:

Scale compute in the Azure Synapse studio.

Spostare quindi il dispositivo di scorrimento come illustrato di seguito:

Using the slider scale compute in the Azure Synapse Studio.

È anche possibile apportare la modifica usando Transact-SQL.

ALTER DATABASE mySampleDataWarehouse
MODIFY (SERVICE_OBJECTIVE = 'DW300c');

In alternativa, è possibile usare PowerShell.

Set-AzSqlDatabase -ResourceGroupName "resourcegroupname" -DatabaseName "mySampleDataWarehouse" -ServerName "sqlpoolservername" -RequestedServiceObjectiveName "DW300c"

Ridimensionamento dei pool di Apache Spark in Azure Synapse Analytics

I pool di Apache Spark per Azure Synapse Analytics usano una funzionalità di scalabilità automatica che consente di aumentare o ridurre automaticamente il numero di nodi in un'istanza del cluster. Durante la creazione di un nuovo pool di Spark è possibile impostare un numero minimo e massimo di nodi quando si seleziona la funzionalità di scalabilità automatica. La funzionalità di scalabilità automatica monitora quindi i requisiti del carico in termini di risorse e aumenta o riduce il numero di nodi. Per abilitare la funzionalità di scalabilità automatica, completare la procedura seguente durante il normale processo di creazione del pool:

  1. Nella scheda Informazioni di base selezionare la casella di controllo Abilita scalabilità automatica.
  2. Immettere i valori desiderati per le proprietà seguenti:
    • Numero minimo di nodi.
    • Numero massimo di nodi.

Il numero iniziale di nodi corrisponderà al numero minimo. Questo valore definisce le dimensioni iniziali dell'istanza al momento della creazione. Il numero minimo di nodi non può essere inferiore a tre.

È anche possibile modificarlo nel portale di Azure facendo clic sull'icona Impostazioni di scalabilità automatica.

Spark autoscale in the Azure portal.

Scegliere le dimensioni del nodo e il numero di nodi.

Configure Spark nodes in the Azure portal.

Per Azure Synapse Studio procedere come illustrato di seguito.

Spark autoscale in the Azure Synapse Studio.

Scegliere le dimensioni del nodo e il numero di nodi.

Configure Spark nodes in the Azure Synapse Studio.

La funzionalità di scalabilità automatica monitora continuamente l'istanza di Spark e raccoglie le metriche seguenti:

Metrico Descrizione
Total Pending CPU (Totale CPU in sospeso) Numero totale di core necessari per avviare l'esecuzione di tutti i nodi in sospeso.
Total Pending Memory (Totale memoria in sospeso) Memoria totale (in MB) necessaria per avviare l'esecuzione di tutti i nodi in sospeso.
Total Free CPU (Totale CPU disponibile) Somma di tutti i core inutilizzati nei nodi attivi.
Total Free Memory (Totale memoria disponibile) Somma della memoria inutilizzata (in MB) nei nodi attivi.
Used Memory per Node (Memoria utilizzata per nodo) Carico su un nodo. Un nodo in cui sono usati 10 GB di memoria è considerato come sottoposto a un carico superiore rispetto a un nodo del ruolo di lavoro con 2 GB di memoria usata.

Le condizioni seguenti ridimensioneranno quindi automaticamente la memoria o la CPU.

Aumentare Riduzione
Il totale CPU in sospeso è maggiore del totale CPU disponibile per più di 1 minuto. Il totale CPU in sospeso è minore del totale CPU disponibile per più di 2 minuti.
Il totale memoria in sospeso è maggiore del totale memoria disponibile per più di 1 minuto. Il totale memoria in sospeso è minore del totale memoria disponibile per più di 2 minuti.

L'operazione di ridimensionamento può richiedere da 1 a 5 minuti. Durante un processo di riduzione di un'istanza, la funzionalità di scalabilità automatica metterà i nodi in stato di disattivazione in modo che non sia possibile avviare nuovi executor su tale nodo.

I processi in esecuzione continueranno a essere eseguiti e verranno completati. I processi in sospeso rimarranno in attesa di essere pianificati come normali con un numero minore di nodi disponibili.