Referens för beräkningskonfiguration

I den här artikeln beskrivs alla konfigurationsinställningar som är tillgängliga i användargränssnittet för att skapa beräkning. De flesta användare skapar beräkning med hjälp av sina tilldelade principer, vilket begränsar de konfigurerbara inställningarna. Om du inte ser någon viss inställning i användargränssnittet beror det på att principen du har valt inte tillåter att du konfigurerar den inställningen.

De konfigurationer och hanteringsverktyg som beskrivs i den här artikeln gäller både för all-purpose och jobbberäkning. Mer information om hur du konfigurerar jobbberäkning finns i Använda Azure Databricks-beräkning med dina jobb.

Politik

Principer är en uppsättning regler som används för att begränsa de konfigurationsalternativ som är tillgängliga för användare när de skapar beräkning. Om en användare inte har behörigheten Att skapa obegränsade kluster kan de bara skapa beräkning med hjälp av sina tilldelade principer.

Om du vill skapa beräkning enligt en princip väljer du en princip i den nedrullningsbara menyn Princip .

Som standard har alla användare åtkomst till principen för personlig beräkning , vilket gör att de kan skapa beräkningsresurser för en enda dator. Om du behöver åtkomst till personlig beräkning eller några ytterligare principer kontaktar du administratören för arbetsytan.

Beräkning med en nod eller flera noder

Beroende på principen kan du välja mellan att skapa en beräkning med en nod eller en beräkning med flera noder .

Beräkning med en nod är avsedd för jobb som använder små mängder data eller icke-distribuerade arbetsbelastningar, till exempel maskininlärningsbibliotek med en nod. Beräkning med flera noder ska användas för större jobb med distribuerade arbetsbelastningar.

Egenskaper för enskild nod

En beräkning med en nod har följande egenskaper:

  • Kör Spark lokalt.
  • Drivrutinen fungerar som både huvud- och arbetsnoder, utan arbetsnoder.
  • Skapar en körtråd per logisk kärna i beräkningen, minus 1 kärna för drivrutinen.
  • Sparar alla stderr, stdoutoch log4j loggutdata i drivrutinsloggen.
  • Det går inte att konvertera till en beräkning med flera noder.

Välja en eller flera noder

Tänk på ditt användningsfall när du bestämmer dig för en beräkning med en enda eller flera noder:

  • Storskalig databearbetning kommer att uttömma resurserna på en enda nodberäkning. För dessa arbetsbelastningar rekommenderar Databricks att du använder en beräkning med flera noder.

  • Beräkning med en nod har inte utformats för att delas. För att undvika resurskonflikter rekommenderar Databricks att du använder en beräkning med flera noder när beräkningen måste delas.

  • En beräkning med flera noder kan inte skalas till 0 arbetare. Använd en beräkning med en nod i stället.

  • Beräkning med en nod är inte kompatibelt med processisolering.

  • GPU-schemaläggning är inte aktiverat för beräkning med en enda nod.

  • Vid beräkning med en nod kan Spark inte läsa Parquet-filer med en UDT-kolumn. Följande felmeddelanderesultat:

    The Spark driver has stopped unexpectedly and is restarting. Your notebook will be automatically reattached.
    

    Om du vill undvika det här problemet inaktiverar du den inbyggda Parquet-läsaren:

    spark.conf.set("spark.databricks.io.parquet.nativeReader.enabled", False)
    

Åtkomstlägen

Åtkomstläge är en säkerhetsfunktion som avgör vem som kan använda beräkningen och vilka data de kan komma åt via beräkningen. Varje beräkning i Azure Databricks har ett åtkomstläge.

Databricks rekommenderar att du använder läget för delad åtkomst för alla arbetsbelastningar. Använd endast åtkomstläget för en användare om de funktioner som krävs inte stöds av läget för delad åtkomst.

Åtkomstläge Synlig för användaren UC-support Språk som stöds Kommentar
En användare Alltid Ja Python, SQL, Scala, R Kan tilldelas till och användas av en enskild användare. Kallas tilldelat åtkomstläge i vissa arbetsytor.
Delad Alltid (Premium-plan krävs) Ja Python (på Databricks Runtime 11.3 LTS och senare), SQL, Scala (på Unity Catalog-aktiverad beräkning med Databricks Runtime 13.3 LTS och senare) Kan användas av flera användare med dataisolering mellan användare.
Ingen isolering delas Administratörer kan dölja det här åtkomstläget genom att framtvinga användarisolering på sidan administratörsinställningar. Nej Python, SQL, Scala, R Det finns en relaterad inställning på kontonivå för ingen isoleringsdelade beräkning.
Anpassat Dold (för all ny beräkning) Nej Python, SQL, Scala, R Det här alternativet visas endast om du har en befintlig beräkning utan ett angivet åtkomstläge.

Du kan uppgradera en befintlig beräkning så att den uppfyller kraven i Unity Catalog genom att ange åtkomstläget till Enskild användare eller Delad.

Kommentar

I Databricks Runtime 13.3 LTS och senare stöds init-skript och bibliotek i alla åtkomstlägen. Kraven och supporten varierar. Se Var kan init-skript installeras? och klusteromfångsbibliotek.

Databricks Runtime-versioner

Databricks Runtime är den uppsättning kärnkomponenter som körs på din beräkning. Välj körningen med hjälp av listrutan Databricks Runtime Version . Mer information om specifika Databricks Runtime-versioner finns i Versionsanmärkningsversioner och kompatibilitet för Databricks Runtime. Alla versioner inkluderar Apache Spark. Databricks rekommenderar följande:

  • För all användningsberäkning använder du den senaste versionen för att säkerställa att du har de senaste optimeringarna och den senaste kompatibiliteten mellan din kod och förinstallerade paket.
  • För jobbberäkning som kör driftarbetsbelastningar bör du överväga att använda databricks-körningsversionen (Long Term Support) (LTS). Om du använder LTS-versionen ser du till att du inte stöter på kompatibilitetsproblem och kan testa arbetsbelastningen noggrant innan du uppgraderar.
  • För användningsfall för datavetenskap och maskininlärning bör du överväga Ml-versionen för Databricks Runtime.

Använda fotonacceleration

Photon är aktiverat som standard vid beräkning som kör Databricks Runtime 9.1 LTS och senare.

Om du vill aktivera eller inaktivera fotoacceleration markerar du kryssrutan Använd fotonacceleration . Mer information om Foton finns i Vad är Foton?.

Typer av arbets- och drivrutinsnoder

Beräkning består av en drivrutinsnod och noll eller flera arbetsnoder. Du kan välja separata typer av molnproviderinstanser för drivrutins- och arbetsnoderna, men som standard använder drivrutinsnoden samma instanstyp som arbetsnoden. Olika typer av instanstyper passar olika användningsfall, till exempel minnesintensiva eller beräkningsintensiva arbetsbelastningar.

Du kan också välja en pool som ska användas som arbets- eller drivrutinsnod. Se Vad är Azure Databricks-pooler?.

Typ av medarbetare

I beräkning med flera noder kör arbetsnoder Spark-kören och andra tjänster som krävs för korrekt fungerande beräkning. När du distribuerar din arbetsbelastning med Spark sker all distribuerad bearbetning på arbetsnoder. Azure Databricks kör en utförare per arbetsnod. Därför används termerna executor och worker utbytbart i kontexten för Databricks-arkitekturen.

Dricks

Om du vill köra ett Spark-jobb behöver du minst en arbetsnod. Om beräkningen har noll arbetare kan du köra icke-Spark-kommandon på drivrutinsnoden, men Spark-kommandon misslyckas.

IP-adresser för arbetsnod

Azure Databricks startar arbetsnoder med två privata IP-adresser vardera. Nodens primära privata IP-adress är värd för intern Trafik i Azure Databricks. Den sekundära privata IP-adressen används av Spark-containern för kommunikation mellan kluster. Med den här modellen kan Azure Databricks tillhandahålla isolering mellan flera beräkningar på samma arbetsyta.

Drivrutinstyp

Drivrutinsnoden underhåller tillståndsinformation för alla notebook-filer som är kopplade till beräkningen. Drivrutinsnoden underhåller även SparkContext, tolkar alla kommandon som du kör från en notebook-fil eller ett bibliotek på beräkningen och kör Apache Spark-huvudservern som samordnar med Spark-körarna.

Standardvärdet för drivrutinsnodtypen är samma som arbetsnodtypen. Du kan välja en större drivrutinsnodtyp med mer minne om du planerar att collect() använda mycket data från Spark-arbetare och analysera dem i notebook-filen.

Dricks

Eftersom drivrutinsnoden har all tillståndsinformation för de anslutna notebook-filerna ser du till att koppla från oanvända notebook-filer från drivrutinsnoden.

GPU-instanstyper

För beräkningsmässigt utmanande uppgifter som kräver höga prestanda, som de som är associerade med djupinlärning, stöder Azure Databricks beräkningsaccelererad med grafikprocessorer (GPU:er). Mer information finns i GPU-aktiverad beräkning.

Virtuella Datorer för konfidentiell databehandling i Azure

Typer av konfidentiell databehandling i Azure förhindrar obehörig åtkomst till data när de används, inklusive från molnoperatören. Den här typen av virtuell dator är fördelaktig för strikt reglerade branscher och regioner samt företag med känsliga data i molnet. Mer information om konfidentiell databehandling i Azure finns i Konfidentiell databehandling i Azure.

Om du vill köra dina arbetsbelastningar med hjälp av virtuella Azure-datorer för konfidentiell databehandling väljer du från vm-typerna i DC- eller EC-serien i listrutorna för arbets- och drivrutinsnoder. Se Alternativ för konfidentiella virtuella datorer i Azure.

Oanvända instanser

Om du vill spara kostnader kan du välja att använda instanser av oanvänd kapacitet, även kallade virtuella Azure Spot-datorer genom att markera kryssrutan Spot instances (Spot instances ).

Konfigurera punkt

Den första instansen kommer alltid att vara på begäran (drivrutinsnoden är alltid på begäran) och efterföljande instanser kommer att vara instanser av oanvänd kapacitet.

Om instanser avlägsnas på grund av otillgänglighet försöker Azure Databricks hämta nya spotinstanser för att ersätta de borttagna instanserna. Om det inte går att hämta oanvända instanser distribueras instanser på begäran för att ersätta de borttagna instanserna. När nya noder läggs till i befintlig beräkning försöker Azure Databricks dessutom hämta instanser av oanvänd kapacitet för dessa noder.

Aktivera automatisk skalning

När Aktivera autoskalning är markerat kan du ange ett lägsta och högsta antal arbetare för beräkningen. Databricks väljer sedan rätt antal arbetare som krävs för att köra jobbet.

Om du vill ange det lägsta och högsta antalet arbetare som beräkningen ska skalas mellan automatiskt använder du fälten Min workers och Max workers bredvid listrutan Arbetstyp .

Om du inte aktiverar automatisk skalning anger du ett fast antal arbetare i fältet Arbetare bredvid listrutan Arbetstyp .

Kommentar

När beräkningen körs visar sidan med beräkningsinformation antalet allokerade arbetare. Du kan jämföra antalet allokerade arbetare med arbetskonfigurationen och göra justeringar efter behov.

Fördelar med autoskalning

Med automatisk skalning omallokerar Azure Databricks arbetare dynamiskt för att ta hänsyn till egenskaperna för ditt jobb. Vissa delar av pipelinen kan vara mer beräkningsmässigt krävande än andra, och Databricks lägger automatiskt till ytterligare arbetare under dessa faser av jobbet (och tar bort dem när de inte längre behövs).

Autoskalning gör det enklare att uppnå hög användning eftersom du inte behöver etablera beräkningen för att matcha en arbetsbelastning. Detta gäller särskilt för arbetsbelastningar vars krav ändras över tid (till exempel att utforska en datauppsättning under en dag), men det kan även gälla för en enstaka kortare arbetsbelastning vars etableringskrav är okända. Autoskalning erbjuder därför två fördelar:

  • Arbetsbelastningar kan köras snabbare jämfört med en underetablerad beräkning i konstant storlek.
  • Autoskalning kan minska de totala kostnaderna jämfört med en statiskt storleksanpassad beräkning.

Beroende på den konstanta storleken på beräkningen och arbetsbelastningen ger automatisk skalning dig en eller båda av dessa fördelar samtidigt. Beräkningsstorleken kan gå under det minsta antal arbetare som valts när molnleverantören avslutar instanser. I det här fallet försöker Azure Databricks kontinuerligt att återetablera instanser för att behålla det minsta antalet arbetare.

Kommentar

Autoskalning är inte tillgängligt för spark-submit-jobb.

Kommentar

Automatisk skalning av beräkning har begränsningar för att skala ned klusterstorleken för arbetsbelastningar med strukturerad direktuppspelning. Databricks rekommenderar att du använder Delta Live Tables med förbättrad automatisk skalning för strömmande arbetsbelastningar. Se Optimera klusteranvändningen av Delta Live Tables-pipelines med förbättrad autoskalning.

Så beter sig autoskalning

Arbetsytan i premium- och enterprise-prisplanerna använder optimerad autoskalning. Arbetsytor i standardprisplanen använder standard autoskalning.

Optimerad autoskalning har följande egenskaper:

  • Skalas upp från min till max i två steg.
  • Kan skala ned, även om beräkningen inte är inaktiv, genom att titta på shuffle-filtillståndet.
  • Skalas ned baserat på en procentandel av de aktuella noderna.
  • Vid jobbberäkning skalas ned om beräkningen underutnyttjers under de senaste 40 sekunderna.
  • Vid all-purpose compute skalas ned om beräkningen underutnyttjers under de senaste 150 sekunderna.
  • Spark-konfigurationsegenskapen spark.databricks.aggressiveWindowDownS anger i sekunder hur ofta beräkningen fattar beslut om nedskalning. Om du ökar värdet skalas beräkningen ned långsammare. Det maximala värdet är 600.

Standard autoskalning används i standardplanarbetsytor. Standard autoskalning har följande egenskaper:

  • Börjar med att lägga till 8 noder. Skala sedan upp exponentiellt och vidta så många steg som krävs för att nå maxvärdet.
  • Skalas ned när 90 % av noderna inte är upptagna på 10 minuter och beräkningen har varit inaktiv i minst 30 sekunder.
  • Skalas ned exponentiellt, från och med 1 nod.

Autoskalning med pooler

Om du kopplar din beräkning till en pool bör du tänka på följande:

  • Kontrollera att den begärda beräkningsstorleken är mindre än eller lika med det minsta antalet inaktiva instanser i poolen. Om den är större motsvarar beräkningsstarttiden beräkning som inte använder en pool.
  • Kontrollera att den maximala beräkningsstorleken är mindre än eller lika med poolens maximala kapacitet . Om den är större misslyckas beräkningsgenereringen.

Exempel på automatisk skalning

Om du konfigurerar om en statisk beräkning till autoskalning ändrar Azure Databricks omedelbart storlek på beräkningen inom de minsta och högsta gränserna och startar sedan autoskalning. I följande tabell visas till exempel vad som händer med beräkning med en viss initial storlek om du konfigurerar om beräkningen till autoskalning mellan 5 och 10 noder.

Ursprunglig storlek Storlek efter omkonfiguration
6 6
12 10
3 5

Aktivera lokal lagring för automatisk skalning

Det kan ofta vara svårt att uppskatta hur mycket diskutrymme ett visst jobb tar. För att spara dig från att behöva uppskatta hur många gigabyte hanterad disk som ska anslutas till din beräkning vid skapandetillfället aktiverar Azure Databricks automatiskt automatisk skalning av lokal lagring på alla Azure Databricks-beräkningar.

Med lokal lagring med automatisk skalning övervakar Azure Databricks mängden ledigt diskutrymme som är tillgängligt för din beräknings Spark-arbetare. Om en arbetare börjar köra för lågt på disken kopplar Databricks automatiskt en ny hanterad disk till arbetaren innan diskutrymmet tar slut. Diskar är anslutna till en gräns på 5 TB totalt diskutrymme per virtuell dator (inklusive den virtuella datorns ursprungliga lokala lagring).

De hanterade diskar som är anslutna till en virtuell dator kopplas endast från när den virtuella datorn returneras till Azure. Det vill: hanterade diskar kopplas aldrig från en virtuell dator så länge de ingår i en beräkning som körs. För att skala ned användningen av hanterade diskar rekommenderar Azure Databricks att du använder den här funktionen i beräkning som konfigurerats med beräkning av automatisk skalning eller automatisk avslutning.

Lokal diskkryptering

Viktigt!

Den här funktionen finns som allmänt tillgänglig förhandsversion.

Vissa instanstyper som du använder för att köra beräkning kan ha lokalt anslutna diskar. Azure Databricks kan lagra shuffle-data eller tillfälliga data på dessa lokalt anslutna diskar. För att säkerställa att alla vilande data krypteras för alla lagringstyper, inklusive shuffle-data som lagras tillfälligt på din beräknings lokala diskar, kan du aktivera lokal diskkryptering.

Viktigt!

Dina arbetsbelastningar kan köras långsammare på grund av prestandapåverkan vid läsning och skrivning av krypterade data till och från lokala volymer.

När lokal diskkryptering är aktiverat genererar Azure Databricks en krypteringsnyckel lokalt som är unik för varje beräkningsnod och som används för att kryptera alla data som lagras på lokala diskar. Omfånget för nyckeln är lokalt för varje beräkningsnod och förstörs tillsammans med själva beräkningsnoden. Under dess livslängd finns nyckeln i minnet för kryptering och dekryptering och lagras krypterad på disken.

Om du vill aktivera lokal diskkryptering måste du använda kluster-API:et. När beräkning skapas eller redigeras anger du enable_local_disk_encryption till true.

Automatisk avslutning

Du kan ange automatisk avslutning för beräkning. När beräkning skapas anger du en inaktivitetsperiod i minuter efter vilken du vill att beräkningen ska avslutas.

Om skillnaden mellan den aktuella tiden och den senaste kommandokörningen på beräkningen är mer än den angivna inaktivitetsperioden avslutar Azure Databricks automatiskt den beräkningen. Mer information om beräkningsavslut finns i Avsluta en beräkning.

Taggar

Med taggar kan du enkelt övervaka kostnaden för molnresurser som används av olika grupper i din organisation. Ange taggar som nyckel/värde-par när du skapar beräkning, och Azure Databricks tillämpar dessa taggar på molnresurser som virtuella datorer och diskvolymer samt DBU-användningsrapporter.

För beräkning som startas från pooler tillämpas de anpassade taggarna endast på DBU-användningsrapporter och sprids inte till molnresurser.

Detaljerad information om hur pool- och beräkningstaggtyper fungerar tillsammans finns i Övervaka användning med hjälp av taggar

Så här lägger du till taggar i din beräkning:

  1. I avsnittet Taggar lägger du till ett nyckel/värde-par för varje anpassad tagg.
  2. Klicka på Lägg till.

Apache Spark-konfiguration

Om du vill finjustera Spark-jobb kan du ange anpassade Spark-konfigurationsegenskaper.

  1. På sidan för beräkningskonfiguration klickar du på växlingsknappen Avancerade alternativ .

  2. Klicka på fliken Spark .

    Apache Spark-konfiguration

    I Spark-konfiguration anger du konfigurationsegenskaperna som ett nyckel/värde-par per rad.

När du konfigurerar beräkning med hjälp av kluster-API:et anger du Spark-egenskaper i spark_conf fältet i API:et create cluster eller Update cluster API.

För att framtvinga Spark-konfigurationer på beräkning kan arbetsyteadministratörer använda beräkningsprinciper.

Hämta en Spark-konfigurationsegenskap från en hemlighet

Databricks rekommenderar att du lagrar känslig information, till exempel lösenord, i en hemlighet i stället för i klartext. Om du vill referera till en hemlighet i Spark-konfigurationen använder du följande syntax:

spark.<property-name> {{secrets/<scope-name>/<secret-name>}}

Om du till exempel vill ange en Spark-konfigurationsegenskap som anropas password till värdet för hemligheten som lagras i secrets/acme_app/password:

spark.password {{secrets/acme-app/password}}

Mer information finns i Syntax för att referera till hemligheter i en Spark-konfigurationsegenskap eller miljövariabel.

SSH-åtkomst till beräkning

Av säkerhetsskäl stängs SSH-porten som standard i Azure Databricks. Om du vill aktivera SSH-åtkomst till dina Spark-kluster läser du SSH till drivrutinsnoden.

Kommentar

SSH kan endast aktiveras om din arbetsyta distribueras i ditt eget virtuella Azure-nätverk.

Miljövariabler

Konfigurera anpassade miljövariabler som du kan komma åt från init-skript som körs på beräkningen. Databricks innehåller också fördefinierade miljövariabler som du kan använda i init-skript. Du kan inte åsidosätta dessa fördefinierade miljövariabler.

  1. På sidan för beräkningskonfiguration klickar du på växlingsknappen Avancerade alternativ .

  2. Klicka på fliken Spark .

  3. Ange miljövariablerna i fältet Miljövariabler .

    Fältet Miljövariabler

Du kan också ange miljövariabler med hjälp spark_env_vars av fältet i API:et Skapa kluster eller Uppdatera kluster-API.

Leverans av beräkningslogg

När du skapar beräkning kan du ange en plats för att leverera loggarna för Spark-drivrutinsnoden, arbetsnoder och händelser. Loggar levereras var femte minut och arkiveras varje timme i det valda målet. När en beräkning avslutas garanterar Azure Databricks att leverera alla loggar som genererats tills beräkningen avslutades.

Målet för loggarna beror på beräkningens cluster_id. Om det angivna målet är dbfs:/cluster-log-deliverylevereras beräkningsloggarna för 0630-191345-leap375 till dbfs:/cluster-log-delivery/0630-191345-leap375.

Så här konfigurerar du loggleveransplatsen:

  1. På beräkningssidan klickar du på växlingsknappen Avancerade alternativ .
  2. Klicka på fliken Loggning .
  3. Välj en måltyp.
  4. Ange sökvägen till beräkningsloggen.

Kommentar

Den här funktionen är också tillgänglig i REST-API:et. Se KLUSTER-API:et.