Condividi tramite


Configurare le configurazioni del profilo di risorse in Microsoft Fabric

I profili di risorse in Microsoft Fabric consentono di applicare set di configurazione Spark predefiniti per modelli di carico di lavoro comuni, ad esempio l'elaborazione con intensa attività di lettura e scrittura.

I profili riducono l'ottimizzazione manuale di Spark e forniscono un percorso più rapido per le prestazioni prevedibili.

Vantaggi dei profili di risorse

  • Prestazioni per impostazione predefinita: applicare le impostazioni spark testate per i modelli comuni.
  • Flessibilità: scegliere un profilo predefinito o usare impostazioni personalizzate.
  • Riduzione dell'overhead di ottimizzazione: ridurre le modifiche alla configurazione per tentativi ed errori.

Nota

  • Per impostazione predefinita, le nuove aree di lavoro di Fabric si impostano sul writeHeavy come profilo predefinito.
  • In writeHeavy, VOrder è disabilitato per impostazione predefinita e deve essere abilitato manualmente quando necessario.

Profili di risorse disponibili

Profilo caso d'uso Proprietà di configurazione
readHeavyForSpark Ottimizzato per carichi di lavoro Spark con letture frequenti spark.fabric.resourceProfile = readHeavyForSpark
readHeavyForPBI Ottimizzato per le query di Power BI nelle tabelle Delta spark.fabric.resourceProfile = readHeavyForPBI
writeHeavy Ottimizzato per l'inserimento e le scritture ad alta frequenza spark.fabric.resourceProfile = writeHeavy
custom Profilo completamente definito dall'utente spark.fabric.resourceProfile = custom

Valori di configurazione predefiniti per profilo

Profilo risorsa Configurazioni
writeHeavy {"spark.sql.parquet.vorder.default": "false", "spark.databricks.delta.optimizeWrite.enabled": "null", "spark.databricks.delta.optimizeWrite.binSize": "128", "spark.databricks.delta.optimizeWrite.partitioned.enabled": "true"}
readHeavyForPBI {"spark.sql.parquet.vorder.default": "true", "spark.databricks.delta.optimizeWrite.enabled": "true", "spark.databricks.delta.optimizeWrite.binSize": "1g"}
readHeavyForSpark {"spark.databricks.delta.optimizeWrite.enabled": "true", "spark.databricks.delta.optimizeWrite.partitioned.enabled": "true", "spark.databricks.delta.optimizeWrite.binSize": "128"}
custom (esempio: fastIngestProfile) Impostazioni definite dall'utente, ad esempio {"spark.sql.shuffle.partitions": "800", "spark.sql.adaptive.enabled": "true", "spark.serializer": "org.apache.spark.serializer.KryoSerializer"}

Suggerimento

Usare nomi di profilo personalizzati descrittivi, fastIngestProfile ad esempio o lowLatencyAnalytics.

Configurare i profili di risorsa

È possibile configurare i profili a livello di ambiente o in fase di esecuzione.

Configurare i profili in un ambiente

Impostare il profilo predefinito per tutti i processi Spark in un ambiente a meno che non venga sottoposto a override in fase di esecuzione.

  1. Vai al tuo Fabric workspace.
  2. Creare un nuovo ambiente o modificarne uno esistente.
  3. Nelle configurazioni di Spark impostare spark.fabric.resourceProfile su uno dei valori seguenti:
    • writeHeavy
    • readHeavyForPBI
    • readHeavyForSpark
    • Un nome di profilo personalizzato
  4. Salvare l'ambiente.

È anche possibile iniziare da un profilo esistente e modificare proprietà specifiche in base alle esigenze.

Configurare i profili in fase di esecuzione con spark.conf.set

È possibile eseguire l'override del profilo durante l'esecuzione del notebook o del processo Spark:

spark.conf.set("spark.fabric.resourceProfile", "readHeavyForSpark")

La configurazione di runtime è utile quando diverse parti di un carico di lavoro richiedono un comportamento diverso.

Nota

Se sono impostate entrambe le configurazioni di ambiente e runtime, la configurazione di runtime ha la precedenza.

Comportamento predefinito

Tutte le aree di lavoro di Fabric appena create per impostazione predefinita sono writeHeavy. Questa configurazione predefinita è ottimizzata per carichi di lavoro con alto volume di dati in ingresso, tra cui ETL e streaming.

Se il carico di lavoro è ottimizzato per la lettura (ad esempio, query interattive o scenari di Power BI), passare a readHeavyForSpark o readHeavyForPBI o personalizzare le impostazioni del profilo.

Importante

Nelle nuove aree di lavoro Fabric, VOrder è disabilitato per impostazione predefinita (spark.sql.parquet.vorder.default=false) per ottimizzare l'elaborazione ad alta intensità di scrittura.