Aanbevolen procedures voor compute-configuratie

In dit artikel worden aanbevelingen beschreven voor het instellen van optionele rekenconfiguraties. Om configuratiebeslissingen te verminderen, raadt Azure Databricks aan om te profiteren van zowel serverloze reken- als rekenbeleidsregels.

  • Voor serverloze berekeningen zijn geen rekeninstellingen vereist. Serverloze berekeningen zijn altijd beschikbaar en worden geschaald op basis van uw workload. Zie Typen berekeningen.

  • Met rekenbeleid kunt u vooraf geconfigureerde berekeningen maken die zijn ontworpen voor specifieke gebruiksvoorbeelden, zoals persoonlijke rekenkracht, gedeelde rekenkracht, energiegebruikers en taken. Als u geen toegang hebt tot het beleid, neemt u contact op met uw werkruimtebeheerder. Zie Standaardbeleid en beleidsfamilies.

Als u ervoor kiest om berekeningen te maken met uw eigen configuraties, bieden de onderstaande secties aanbevelingen voor typische gebruiksvoorbeelden.

Notitie

In dit artikel wordt ervan uitgegaan dat u onbeperkte clusters hebt gemaakt. Werkruimtebeheerders mogen deze bevoegdheid alleen verlenen aan geavanceerde gebruikers.

Overwegingen voor het berekenen van de grootte

Mensen vaak rekenkracht beschouwen in termen van het aantal werknemers, maar er zijn andere belangrijke factoren om rekening mee te houden:

  • Totaal aantal uitvoerkernen (compute): het totale aantal kernen voor alle uitvoerders. Dit bepaalt de maximale parallelle uitvoering van een rekenproces.
  • Totaal geheugen voor uitvoerders: de totale hoeveelheid RAM-geheugen voor alle uitvoerders. Hiermee bepaalt u hoeveel gegevens in het geheugen kunnen worden opgeslagen voordat deze naar de schijf worden overgeslagen.
  • Lokale opslag van uitvoerprogramma: het type en de hoeveelheid lokale schijfopslag. Lokale schijf wordt voornamelijk gebruikt in het geval van overloop tijdens willekeurige volgordes en caching.

Aanvullende overwegingen zijn onder andere het type werkexemplaren en de grootte, die ook van invloed zijn op de bovenstaande factoren. Overweeg bij het aanpassen van de grootte van uw rekenproces het volgende:

  • Hoeveel gegevens verbruikt uw workload?
  • Wat is de rekenkundige complexiteit van uw workload?
  • Waar leest u gegevens vandaan?
  • Hoe worden de gegevens gepartitioneerd in externe opslag?
  • Hoeveel parallelle uitvoering hebt u nodig?

Als u deze vragen beantwoordt, kunt u optimale rekenconfiguraties bepalen op basis van workloads.

Er is een taakverdeling tussen het aantal werkrollen en de grootte van werkrolexemplaren. Het configureren van rekenkracht met twee werkrollen, elk met 40 kernen en 100 GB RAM, heeft hetzelfde reken- en geheugengeheugen als het configureren van rekenkracht met 10 kernen en 25 GB RAM-geheugen.

Voorbeelden van rekengrootte

In de volgende voorbeelden ziet u aanbevelingen voor berekeningen op basis van specifieke typen workloads. Deze voorbeelden omvatten ook configuraties om te voorkomen en waarom deze configuraties niet geschikt zijn voor de workloadtypen.

Gegevensanalyse

Gegevensanalisten voeren doorgaans verwerking uit die gegevens van meerdere partities vereisen, wat leidt tot veel willekeurige bewerkingen. Berekeningen met een kleiner aantal knooppunten kunnen het netwerk en de I/O van de schijf verminderen die nodig zijn om deze willekeurige volgordes uit te voeren.

Als u alleen SQL schrijft, is de beste optie voor gegevensanalyse een serverloze SQL Warehouse.

Notitie

Als uw werkruimte is ingeschakeld voor de openbare preview van serverloze compute, kunt u serverloze berekeningen gebruiken om analyses uit te voeren in Python of SQL. Zie Serverloze rekenkracht voor notebooks.

Als u een nieuwe berekening moet configureren, is een rekenproces met één knooppunt met een groot VM-type waarschijnlijk de beste keuze, met name voor één analist.

Analytische workloads vereisen waarschijnlijk dat dezelfde gegevens herhaaldelijk worden gelezen, dus aanbevolen knooppunttypen zijn geoptimaliseerd voor opslag met schijfcache ingeschakeld.

Aanvullende functies die worden aanbevolen voor analytische workloads zijn onder andere:

  • Schakel automatische beëindiging in om ervoor te zorgen dat de berekening wordt beëindigd na een periode van inactiviteit.
  • Overweeg automatische schaalaanpassing in te schakelen op basis van de typische workload van de analist.
  • Overweeg het gebruik van pools, waardoor het beperken van de rekenkracht tot vooraf goedgekeurde exemplaartypen wordt toegestaan en consistente rekenconfiguraties kan worden gegarandeerd.

Basic batch ETL

Notitie

Als uw werkruimte is ingeschakeld voor serverloze berekeningen voor werkstromen (openbare preview), kunt u serverloze berekeningen gebruiken om uw taken uit te voeren. Zie Serverloze rekenkracht voor notebooks.

Eenvoudige BATCH ETL-taken waarvoor geen brede transformaties nodig zijn, zoals joins of aggregaties, profiteren doorgaans van werkroltypen die zijn geoptimaliseerd voor rekenkracht.

Werkrollen die zijn geoptimaliseerd voor rekenkracht hebben lagere vereisten voor geheugen en opslag en kunnen leiden tot kostenbesparingen ten opzichte van andere werkroltypen.

Complexe batch ETL

Notitie

Als uw werkruimte is ingeschakeld voor serverloze berekeningen voor werkstromen (openbare preview), kunt u serverloze berekeningen gebruiken om uw taken uit te voeren. Zie Serverloze rekenkracht voor notebooks.

Voor een complexe ETL-taak, zoals een taak waarvoor samenvoegingen en joins in meerdere tabellen zijn vereist, raadt Databricks aan om het aantal werkrollen te verminderen om de hoeveelheid gegevens in willekeurige volgorde te verminderen.

Complexe transformaties kunnen rekenintensief zijn. Als u aanzienlijke overloop naar schijf- of OOM-fouten ziet, moet u extra knooppunten toevoegen.

Databricks raadt werktypen aan die zijn geoptimaliseerd voor rekenkracht. Werkrollen die zijn geoptimaliseerd voor rekenkracht hebben lagere vereisten voor geheugen en opslag en kunnen leiden tot kostenbesparingen ten opzichte van andere werkroltypen. U kunt pools desgewenst gebruiken om de starttijden van rekenprocessen te verlagen en de totale runtime te verminderen bij het uitvoeren van taakpijplijnen.

Machine Learning-modellen trainen

Databricks raadt rekenkracht met één knooppunt aan met een groot knooppunttype voor initiële experimenten met machine learning-modellen. Als u minder knooppunten hebt, vermindert u de impact van willekeurige volgordes.

Het toevoegen van meer werknemers kan helpen met stabiliteit, maar u moet voorkomen dat er te veel werkrollen worden toegevoegd vanwege de overhead van het versnipperen van gegevens.

Aanbevolen werkroltypen zijn geoptimaliseerd voor opslag waarbij schijfcaching is ingeschakeld om rekening te houden met herhaalde leesbewerkingen van dezelfde gegevens en om caching van trainingsgegevens mogelijk te maken. Als de reken- en opslagopties van geoptimaliseerde knooppunten voor opslag niet voldoende zijn, kunt u overwegen om geoptimaliseerde GPU-knooppunten te overwegen. Een mogelijk nadeel is het gebrek aan ondersteuning voor schijfcaching met deze knooppunten.

Aanvullende functies die worden aanbevolen voor machine learning-workloads zijn onder andere:

  • Schakel automatische beëindiging in om ervoor te zorgen dat de berekening wordt beëindigd na een periode van inactiviteit.
  • Gebruik pools, waarmee rekenkracht wordt beperkt tot vooraf goedgekeurde exemplaartypen en consistente rekenconfiguraties worden gegarandeerd.