Hantera beräkning

Den här artikeln beskriver hur du hanterar Azure Databricks-beräkning, inklusive visning, redigering, start, avslutande, borttagning, kontroll av åtkomst och övervakning av prestanda och loggar. Du kan också använda kluster-API:et för att hantera beräkning programmatiskt.

Visa beräkning

Om du vill visa din beräkning klickar du på beräkningsikonBeräkning i sidofältet för arbetsytan.

Till vänster finns två kolumner som anger om beräkningen har fästs och status för beräkningen. Hovra över statusen för att få mer information.

Visa beräkningskonfiguration som en JSON-fil

Ibland kan det vara bra att visa din beräkningskonfiguration som JSON. Detta är särskilt användbart när du vill skapa liknande beräkning med hjälp av kluster-API:et. När du visar en befintlig beräkning går du till fliken Konfiguration , klickar på JSON längst upp till höger på fliken, kopierar JSON och klistrar in den i API-anropet. JSON-vyn är skrivskyddad.

Fästa en beräkning

30 dagar efter att en beräkning har avslutats tas den bort permanent. Om du vill behålla en all-purpose-beräkningskonfiguration efter att en beräkning har avslutats i mer än 30 dagar kan en administratör fästa beräkningen. Upp till 100 beräkningsresurser kan fästas.

Administratörer kan fästa en beräkning från beräkningslistan eller sidan med beräkningsinformation genom att klicka på fästikonen.

Redigera en beräkning

Du kan redigera en beräknings konfiguration från användargränssnittet för beräkningsinformation.

Kommentar

  • Notebook-filer och jobb som har kopplats till beräkningen förblir kopplade efter redigeringen.
  • Bibliotek som är installerade på beräkningen förblir installerade efter redigering.
  • Om du redigerar ett attribut för en beräkning som körs (förutom beräkningsstorleken och behörigheterna) måste du starta om den. Detta kan störa användare som för närvarande använder beräkningen.
  • Du kan bara redigera en beräkning som körs eller avslutas. Du kan dock uppdatera behörigheter för beräkning som inte finns i dessa tillstånd på sidan med beräkningsinformation.

Klona en beräkning

Om du vill klona en befintlig beräkning väljer du Klona från beräkningens Menyn Kebab kebabmeny (kallas även för menyn med tre punkter).

När du har valt klon öppnas användargränssnittet för att skapa beräkning i förväg med beräkningskonfigurationen. Följande attribut ingår inte i klonen:

  • Beräkningsbehörigheter
  • Installerade bibliotek
  • Anslutna anteckningsböcker

Beräkningsbehörigheter

Det finns fyra behörighetsnivåer för en beräkning: INGA BEHÖRIGHETER, KAN KOPPLA TILL, KAN STARTA OM och KAN HANTERA. Tabellen visar en lista över förmågorna för varje behörighet.

Viktigt!

Användare med CAN ATTACH TO-behörigheter kan visa tjänstkontonycklarna i log4j-filen. Var försiktig när du beviljar den här behörighetsnivån.

Förmåga INGA BEHÖRIGHETER KAN KOPPLAS TILL KAN STARTA OM KAN HANTERA
Koppla notebook-fil till beräkning x x x
Visa Spark-användargränssnitt x x x
Visa beräkningsmått x x x
Visa drivrutinsloggar x (se anmärkning)
Avsluta beräkning x x
Starta och starta om beräkning x x
Redigera beräkning x
Bifoga bibliotek till beräkning x
Ändra storlek på beräkning x
Ändra behörigheter x

Arbetsyteadministratörer har behörigheten CAN MANAGE för all beräkning på sin arbetsyta. Användare har automatiskt behörigheten CAN MANAGE för den beräkning de skapar.

Kommentar

Hemligheter redigeras inte från ett klusters Spark-drivrutinslogg stdout och stderr -strömmar. För att skydda känsliga data kan Spark-drivrutinsloggar som standard endast visas av användare med CAN MANAGE-behörighet för jobb, åtkomstläge för en användare och kluster för delat åtkomstläge. Om du vill tillåta användare med behörigheten CAN ATTACH TO eller CAN RESTART att visa loggarna i dessa kluster anger du följande Spark-konfigurationsegenskap i klusterkonfigurationen: spark.databricks.acl.needAdminPermissionToViewLogs false.

På kluster för delat åtkomstläge utan isolering kan Spark-drivrutinsloggarna visas av användare med behörigheten KAN KOPPLA TILL eller KAN HANTERA. Om du vill begränsa vem som kan läsa loggarna till endast användare med behörigheten CAN MANAGE anger du spark.databricks.acl.needAdminPermissionToViewLogs till true.

Se Spark-konfiguration för att lära dig hur du lägger till Spark-egenskaper i en klusterkonfiguration.

Konfigurera beräkningsbehörigheter

I det här avsnittet beskrivs hur du hanterar behörigheter med hjälp av arbetsytans användargränssnitt. Du kan också använda behörighets-API:et eller Databricks Terraform-providern.

Du måste ha behörigheten CAN MANAGE för en beräkning för att konfigurera beräkningsbehörigheter.

  1. Klicka på Beräkning i sidopanelen.
  2. På raden för beräkningen klickar du på menyn för kebab Lodrät ellips till höger och väljer Redigera behörigheter.
  3. I Behörighet Inställningar klickar du på listrutan Välj användare, grupp eller tjänstens huvudnamn... och väljer en användare, grupp eller tjänstens huvudnamn.
  4. Välj en behörighet från den nedrullningsbara menyn för behörighet.
  5. Klicka på Lägg till och klicka på Spara.

Avsluta en beräkning

Om du vill spara beräkningsresurser kan du avsluta en beräkning. Konfigurationen för den avslutade beräkningen lagras så att den kan återanvändas (eller, om det gäller jobb, startas automatiskt) vid ett senare tillfälle. Du kan avsluta en beräkning manuellt eller konfigurera beräkningen så att den avslutas automatiskt efter en angiven period av inaktivitet. När antalet avslutade beräkningar överskrider 150 tas den äldsta beräkningen bort.

Såvida inte en beräkning fästs eller startas om tas den bort automatiskt och permanent 30 dagar efter avslutningen.

Avslutad beräkning visas i beräkningslistan med en grå cirkel till vänster om beräkningsnamnet.

Kommentar

När du kör ett jobb på en ny jobbberäkning (vilket vanligtvis rekommenderas) avslutas beräkningen och är inte tillgänglig för omstart när jobbet är klart. Å andra sidan, om du schemalägger ett jobb som ska köras på en befintlig All-Purpose-beräkning som har avslutats, startar den beräkningen automatiskt.

Viktigt!

Om du använder en Utvärderingsversion premium-arbetsyta avslutas all beräkning som körs:

  • När du uppgraderar en arbetsyta till full Premium.
  • Om arbetsytan inte uppgraderas och utvärderingsversionen upphör att gälla.

Manuell avslutning

Du kan avsluta en beräkning manuellt från beräkningslistan (genom att klicka på kvadraten på beräkningsraden) eller sidan med beräkningsinformation (genom att klicka på Avsluta).

Automatisk avslutning

Du kan också ange automatisk avslutning för en beräkning. När beräkning skapas kan du ange 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.

En beräkning anses vara inaktiv när alla kommandon på beräkningen, inklusive Spark-jobb, Strukturerad direktuppspelning och JDBC-anrop, har slutfört körningen.

Varning

  • Beräkning rapporterar inte aktivitet som uppstår vid användning av D Flöden. Det innebär att en automatisk avslutande beräkning kan avslutas medan den kör D Flöden. Inaktivera automatisk avslutning för beräkning som kör D Flöden eller överväg att använda strukturerad direktuppspelning.
  • Inaktiv beräkning fortsätter att ackumulera DBU- och molninstansavgifter under inaktivitetsperioden före avslutningen.

Konfigurera automatisk avslutning

Du kan konfigurera automatisk avslutning i det nya beräkningsgränssnittet. Kontrollera att rutan är markerad och ange antalet minuter i inställningen Avsluta efter ___ minuter av inaktivitet .

Du kan välja bort automatisk avslutning genom att avmarkera kryssrutan Automatisk avslutning eller genom att ange en inaktivitetsperiod på 0.

Kommentar

Automatisk avslutning stöds bäst i de senaste Spark-versionerna. Äldre Spark-versioner har kända begränsningar som kan leda till felaktig rapportering av beräkningsaktivitet. Till exempel kan beräkning som kör JDBC-, R- eller strömningskommandon rapportera en inaktuell aktivitetstid som leder till för tidig beräkningsavslut. Uppgradera till den senaste Spark-versionen för att dra nytta av felkorrigeringar och förbättringar av automatisk avslutning.

Oväntad avslutning

Ibland avslutas en beräkning oväntat, inte på grund av en manuell avslutning eller en konfigurerad automatisk avslutning.

En lista över uppsägningsorsaker och reparationssteg finns i Kunskapsbasen.

Ta bort en beräkning

Om du tar bort en beräkning avslutas beräkningen och dess konfiguration tas bort. Om du vill ta bort en beräkning väljer du Ta bort på beräkningsmenyn Menyn Kebab .

Varning

Du kan inte ångra den här åtgärden.

Om du vill ta bort en fäst beräkning måste den först tas bort av en administratör.

Du kan också anropa kluster-API-slutpunkten för att ta bort en beräkning programmatiskt.

Starta om en beräkning

Du kan starta om en tidigare avslutad beräkning från beräkningslistan, sidan med beräkningsinformation eller en notebook-fil. Du kan också anropa kluster-API-slutpunkten för att starta en beräkning programmatiskt.

Azure Databricks identifierar en beräkning med sitt unika kluster-ID. När du startar en avslutad beräkning återskapar Databricks beräkningen med samma ID, installerar automatiskt alla bibliotek och kopplar om notebook-filerna.

Kommentar

Om du använder en utvärderingsarbetsyta och utvärderingsversionen har upphört att gälla kan du inte starta en beräkning.

Starta om en beräkning för att uppdatera den med de senaste avbildningarna

När du startar om en beräkning hämtar den de senaste avbildningarna för beräkningsresurscontainrarna och de virtuella datorvärdarna. Det är viktigt att schemalägga regelbundna omstarter för tidskrävande beräkning, till exempel de som används för bearbetning av strömmande data.

Det är ditt ansvar att starta om alla beräkningsresurser regelbundet för att hålla avbildningen uppdaterad med den senaste avbildningsversionen.

Viktigt!

Om du aktiverar säkerhetsprofilen för efterlevnad för ditt konto eller din arbetsyta startas den tidskrävande beräkningen automatiskt om efter behov under ett schemalagt underhållsperiod. Detta minskar risken för att en automatisk omstart stör ett schemalagt jobb. Du kan också framtvinga omstart under underhållsfönstret. Se Automatisk klusteruppdatering.

Notebook-exempel: Hitta tidskrävande beräkning

Om du är administratör för arbetsytan kan du köra ett skript som avgör hur länge var och en av dina beräkningar har körts, och du kan också starta om dem om de är äldre än ett angivet antal dagar. Azure Databricks tillhandahåller det här skriptet som en notebook-fil.

De första raderna i skriptet definierar konfigurationsparametrar:

  • min_age_output: Det maximala antalet dagar som en beräkning kan köras. Standard är 1.
  • perform_restart: Om Truestartar skriptet om en beräkning med en ålder som är större än det antal dagar som anges av min_age_output. Standardvärdet är False, som identifierar tidskrävande beräkning men inte startar om dem.
  • secret_configuration: Ersätt REPLACE_WITH_SCOPE och REPLACE_WITH_KEY med ett hemligt omfång och nyckelnamn. Mer information om hur du konfigurerar hemligheter finns i notebook-filen.

Varning

Om du anger perform_restart till Truestartar skriptet automatiskt om berättigad beräkning, vilket kan leda till att aktiva jobb misslyckas och återställer öppna notebook-filer. Om du vill minska risken för att störa arbetsytans affärskritiska jobb planerar du en schemalagd underhållsperiod och meddelar användarna på arbetsytan.

Identifiera och om du vill starta om tidskrävande beräkning

Hämta notebook-fil

Automatisk beräkningsstart för jobb och JDBC/ODBC-frågor

När ett jobb som tilldelats en avslutad beräkning är schemalagt att köras, eller om du ansluter till en avslutad beräkning från ett JDBC/ODBC-gränssnitt, startas beräkningen automatiskt om. Se Skapa ett jobb och JDBC-anslutning.

Med automatisk beräkningsstart kan du konfigurera beräkningen så att den avslutas automatiskt utan att manuella åtgärder krävs för att starta om beräkningen för schemalagda jobb. Dessutom kan du schemalägga beräkningsinitiering genom att schemalägga ett jobb som ska köras på en avslutad beräkning.

Innan en beräkning startas om automatiskt kontrolleras behörigheterna för beräknings- och jobbåtkomstkontroll .

Kommentar

Om din beräkning skapades i Azure Databricks-plattformen version 2.70 eller tidigare finns det ingen automatisk start: jobb som är schemalagda att köras vid avslutad beräkning misslyckas.

Visa beräkningsinformation i Apache Spark-användargränssnittet

Du kan visa detaljerad information om Spark-jobb genom att välja fliken Spark-användargränssnitt på sidan med beräkningsinformation.

Om du startar om en avslutad beräkning visar Spark-användargränssnittet information för den omstartade beräkningen, inte den historiska informationen för den avslutade beräkningen.

Visa beräkningsloggar

Azure Databricks tillhandahåller tre typer av loggning av beräkningsrelaterad aktivitet:

  • Beräkningshändelseloggar som samlar in händelser för beräkningslivscykeln, till exempel skapande, avslutning och konfigurationsredigeringar.
  • Apache Spark-drivrutin och arbetslogg som du kan använda för felsökning.
  • Beräkningsloggar för init-skript, som är värdefulla för felsökning av init-skript.

I det här avsnittet beskrivs beräkningshändelseloggar och drivrutins- och arbetsloggar. Mer information om init-script-loggar finns i Loggning av Init-skript.

Beräkningshändelseloggar

Händelseloggen för beräkning visar viktiga händelser för beräkningslivscykeln som utlöses manuellt av användaråtgärder eller automatiskt av Azure Databricks. Sådana händelser påverkar driften av en beräkning som helhet och jobben som körs i beräkningen.

Information om händelsetyper som stöds finns i kluster-API-datastrukturen.

Händelser lagras i 60 dagar, vilket är jämförbart med andra datakvarhållningstider i Azure Databricks.

Visa en beräknings händelselogg

Om du vill visa beräkningshändelseloggen väljer du fliken Händelselogg på sidan med beräkningsinformation.

Om du vill ha mer information om en händelse klickar du på dess rad i loggen och klickar sedan på fliken JSON för mer information.

Beräkningsdrivrutiner och arbetsloggar

De direkta utskrifts- och logginstruktionerna från dina notebook-filer, jobb och bibliotek går till Spark-drivrutinsloggarna. Du kan komma åt dessa loggfiler från fliken Drivrutinsloggar på sidan med beräkningsinformation. Klicka på namnet på en loggfil för att ladda ned den.

Dessa loggar har tre utdata:

  • Standardutdata
  • Standardfel
  • Log4j-loggar

Om du vill visa Spark-arbetsloggar använder du fliken Spark-användargränssnitt . Du kan också konfigurera en loggleveransplats för beräkningen. Både arbets- och beräkningsloggar levereras till den plats som du anger.

Övervaka prestanda

För att hjälpa dig att övervaka prestanda för Azure Databricks-beräkning ger Azure Databricks åtkomst till mått från sidan med beräkningsinformation. För Databricks Runtime 12.2 och nedan ger Azure Databricks åtkomst till Ganglia-mått . För Databricks Runtime 13.0 och senare tillhandahålls beräkningsmått av Azure Databricks.

Dessutom kan du konfigurera en Azure Databricks-beräkning för att skicka mått till en Log Analytics-arbetsyta i Azure Monitor, övervakningsplattformen för Azure.

Du kan också installera Datadog-agenter på beräkningsnoder för att skicka Datadog-mått till ditt Datadog-konto.

Beräkningsmått

Beräkningsmått är standardövervakningsverktyget för Databricks Runtime 13.0 och senare. Om du vill komma åt användargränssnittet för beräkningsmått går du till fliken Mått på sidan med beräkningsinformation.

Du kan visa historiska mått genom att välja ett tidsintervall med hjälp av datumväljarens filter. Mått samlas in varje minut. Du kan också hämta de senaste måtten genom att klicka på knappen Uppdatera . Mer information finns i Visa beräkningsmått.

Ganglia-mått

Kommentar

Ganglia-mått är endast tillgängliga för Databricks Runtime 12.2 och lägre.

Om du vill komma åt Ganglia-användargränssnittet går du till fliken Mått på sidan med beräkningsinformation. CPU-mått är tillgängliga i Ganglia-användargränssnittet för alla Databricks-körningar. GPU-mått är tillgängliga för GPU-aktiverad beräkning.

Om du vill visa livemått klickar du på länken för Ganglia-användargränssnittet .

Om du vill visa historiska mått klickar du på en ögonblicksbildfil. Ögonblicksbilden innehåller sammanställda mått för timmen före den valda tiden.

Kommentar

Ganglia stöds inte med Docker-containrar. Om du använder en Docker-container med din beräkning är Ganglia-mått inte tillgängliga.

Konfigurera Ganglia-måttsamling

Som standard samlar Azure Databricks in Ganglia-mått var 15:e minut. Konfigurera samlingsperioden genom att ange DATABRICKS_GANGLIA_SNAPSHOT_PERIOD_MINUTES miljövariabeln med hjälp av ett init-skript eller i spark_env_vars fältet i API:et Skapa kluster.

Azure Monitor

Du kan konfigurera en Azure Databricks-beräkning för att skicka mått till en Log Analytics-arbetsyta i Azure Monitor, övervakningsplattformen för Azure. Fullständiga anvisningar finns i Övervaka Azure Databricks.

Kommentar

Om du har distribuerat Azure Databricks-arbetsytan i ditt eget virtuella nätverk och du har konfigurerat nätverkssäkerhetsgrupper (NSG) för att neka all utgående trafik som inte krävs av Azure Databricks, måste du konfigurera ytterligare en regel för utgående trafik för tjänsttaggen "AzureMonitor".

Notebook-exempel: Datadog-mått

Datadog-mått

Du kan installera Datadog-agenter på beräkningsnoder för att skicka Datadog-mått till ditt Datadog-konto. Följande notebook-fil visar hur du installerar en Datadog-agent på en beräkning med hjälp av ett init-skript med beräkningsomfång.

Om du vill installera Datadog-agenten på all beräkning hanterar du init-skriptet med beräkningsomfång med hjälp av en beräkningsprincip.

Installera init-skriptanteckningsboken för Datadog-agenten

Hämta notebook-fil

Inaktivera instanser av oanvänd kapacitet

Eftersom instanser av oanvänd kapacitet kan minska kostnaderna är det ett vanligt sätt att köra jobb att skapa beräkning med hjälp av instanser av oanvänd kapacitet i stället för på begäran-instanser. Spot-instanser kan dock föregripas av schemaläggningsmekanismer för molnleverantörer. Preemption av spot-instanser kan orsaka problem med jobb som körs, inklusive:

  • Fel vid shuffle-hämtning
  • Blanda dataförlust
  • RDD-dataförlust
  • Jobbfel

Du kan aktivera avaktivering för att lösa dessa problem. Avaktivering drar nytta av det meddelande som molnleverantören vanligtvis skickar innan en instans av oanvänd kapacitet inaktiveras. När en instans av oanvänd kapacitet som innehåller en köre tar emot ett meddelande om förinläsning försöker inaktiveringsprocessen migrera shuffle- och RDD-data till felfria utförare. Varaktigheten före den slutliga preemptionen är vanligtvis 30 sekunder till 2 minuter, beroende på molnleverantören.

Databricks rekommenderar att du aktiverar datamigrering när du inaktiverar är också aktiverat. I allmänhet minskar risken för fel när mer data migreras, inklusive shuffle-hämtningsfel, shuffle-dataförlust och RDD-dataförlust. Datamigrering kan också leda till mindre beräkning och sparade kostnader.

Kommentar

Avaktivering är ett bra försök och garanterar inte att alla data kan migreras före den slutliga preemptionen. Inaktivering kan inte garantera att shuffle-hämtningsfel uppstår när aktiviteter som körs hämtar shuffle-data från kören.

När avaktiveringen är aktiverad läggs aktivitetsfel som orsakas av preemption för instanser av oanvänd kapacitet inte till i det totala antalet misslyckade försök. Aktivitetsfel som orsakas av preemption räknas inte som misslyckade försök eftersom orsaken till felet är extern för aktiviteten och inte resulterar i jobbfel.

Aktivera avaktivering

Om du vill aktivera inaktivering av en beräkning anger du följande egenskaper på fliken Spark under Avancerade alternativ i användargränssnittet för beräkningskonfiguration. Information om dessa egenskaper finns i Spark-konfiguration.

  • Om du vill aktivera avaktivering för program anger du den här egenskapen i fältet Spark-konfiguration :

    spark.decommission.enabled true
    
  • Om du vill aktivera migrering av shuffle-data under inaktivering anger du den här egenskapen i fältet Spark-konfiguration :

    spark.storage.decommission.enabled true
    spark.storage.decommission.shuffleBlocks.enabled true
    
  • Om du vill aktivera migrering av RDD-cachedata under inaktivering anger du den här egenskapen i fältet Spark-konfiguration :

    spark.storage.decommission.enabled true
    spark.storage.decommission.rddBlocks.enabled true
    

    Kommentar

    När RDD StorageLevel-replikering är inställd på mer än 1 rekommenderar Databricks inte att aktivera RDD-datamigrering eftersom replikerna ser till att RDD:er inte förlorar data.

  • Om du vill aktivera avaktivering för arbetare anger du den här egenskapen i fältet Miljövariabler :

    SPARK_WORKER_OPTS="-Dspark.decommission.enabled=true"
    

Visa status och förlustorsak i användargränssnittet

Om du vill komma åt en arbetares avaktiveringsstatus från användargränssnittet går du till fliken Spark-beräkningsgränssnitt – Huvud .

När avaktiveringen är klar kan du visa körningens orsak till förlust på fliken Spark UI > Executors på sidan med beräkningsinformation.