Hantera klassisk 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 visar om beräkningen har fästs och beräkningens status. 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. För att behålla en allmän beräkningskonfiguration efter att en beräkning har avslutats i mer än 30 dagar kan en administratör låsa den 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.

Anmärkning

  • Notebook-filer och jobb som har kopplats till beräkningen förblir kopplade efter redigeringen.
  • Bibliotek som är installerade på datormiljön 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äkningar som inte är i dessa tillstånd på beräkningsinformationssidan.

Klona en beräkning

Om du vill klona en befintlig beräkning väljer du Klona från beräkningens Kebab-menyikon. kebabmeny.

När du har valt Klonaöppnas beräkningskonfigurationens användargränssnitt, förifyllt med konfigurationen. Följande attribut ingår INTE i klonen:

  • Beräkningsbehörigheter
  • Anslutna anteckningsböcker

Om du inte vill ta med de tidigare installerade biblioteken i den klonade beräkningen klickar du på den nedrullningsbara menyn bredvid knappen Skapa beräkning och väljer Skapa utan bibliotek.

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. Mer information finns i Beräknings-ACL:er.

Anmärkning

Hemliga uppgifter maskeras inte i den klassiska beräkningsresursens Spark-drivrutinsströmmar stdout och stderr. För att skydda känsliga data kan Spark-drivrutinsloggar som standard endast visas av användare med CAN MANAGE-behörighet för jobbberäkning och all-purpose compute i dedikerat eller standardåtkomstläge. Samma standard gäller för beräkningsresurser som skapats från en pool. Om du vill tillåta användare med behörigheten CAN ATTACH TO eller CAN RESTART att visa loggarna anger du följande egenskap i beräkningens Spark-konfigurationsfält: spark.databricks.acl.needAdminPermissionToViewLogs false.

Vid äldre beräkning utan isoleringsläge för delad åtkomst kan Spark-drivrutinsloggarna visas av användare med CAN ATTACH TO, CAN RESTART eller CAN MANAGE-behörighet. 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.

Eftersom spark.databricks.acl.needAdminPermissionToViewLogs är en Spark-egenskap på beräkningsnivå måste du ange den på varje beräkning som behöver den. För tillfälliga jobbkörningar som skickas via jobs/runs/submit, till exempel de som utlöses av en extern orkestrerare, anger du egenskapen new_cluster.spark_conf vid sändningstid, tillsammans med eventuella access_control_list poster.

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 Permissions API:n eller Databricks Terraform-provider.

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å menyikonen för kebabmenyn. Till höger väljer du Redigera behörigheter.
  3. I Behörighetsinställningarklickar du på Välj användare, grupp eller tjänstens huvudnamn... nedrullningsbara menyn 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.

Om en beräkning inte är fäst eller startas om tas den bort automatiskt och permanent 30 dagar efter avslut. Eftersom den här borttagningen utförs av systemet i stället för en användar- eller API-åtgärd visas den inte i granskningsloggarna.

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

Anmärkning

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 alla beräkningsresurser 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, JDBC-anrop och Azure Databricks-webbterminalaktivitet har slutförts.

Varning

  • Beräkningar rapporterar inte aktiviteter som uppstår från användningen av DStreams. Det innebär att en automatisk avslutande beräkning kan avslutas medan den kör DStreams. Inaktivera automatisk avslutning för beräkning som kör DStreams 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.

Anmärkning

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äkningsprocesser som kör JDBC-, R- eller streaming-kommandon rapportera en inaktuell aktivitetstid som leder till för tidig avstängning av beräkningen. 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 Knowledge Base.

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 från beräkningens Menyikon för Kebab.

Varning

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

För att ta bort en fäst beräkning måste den först frigöras 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.

Anmärkning

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 efterlevnadssäkerhetsprofilen för ditt konto eller din arbetsyta startas långvariga beräkningar automatiskt om efter behov under ett schemalagt underhållsfönster. Detta minskar risken för att en automatisk omstart stör ett schemalagt jobb. Du kan också framtvinga en 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 True uppfylls, startar skriptet om alla beräkningar 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 vid behov starta om långvariga beräkningsprocesser

Hämta bärbar dator

Beräkna automatisk start 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 Konfigurera beräkning för jobb och JDBC Connect.

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 .

Anmärkning

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 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.

Se Diagnostisera kostnader och prestandaproblem med spark-användargränssnittet för att gå igenom diagnostisering av kostnader och prestandaproblem med hjälp av Spark-användargränssnittet.

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.

Datorhä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 händelseloggen för en dator

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.

Beräkningsmått

Mått för beräkningsresurser är tillgängliga för klassisk allmän beräkning och jobbberäkning. Om du vill komma åt användargränssnittet för beräkningsmått klickar du på namnet på en enskild beräkningsresurs i beräkningslistan och klickar sedan på fliken Mått.

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

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.

Anmärkning

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".

Exempel på anteckningsbok: Datadog-metrik

Datadog-metrik

Du kan installera Datadog-agenter på beräkningsnoder för att skicka Datadog-mått till ditt Datadog-konto. Följande notebook demonstrerar hur man installerar en Datadog-agent på en beräkningsenhet med hjälp av ett beräkningsspecifikt init-skript.

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 bärbar dator

Avveckla spotinstanser

Eftersom spotinstanser kan minska kostnaderna är det vanligt att skapa beräkningar med hjälp av spotinstanser istället för on-demand-instanser för att köra jobb. Spot-instanser kan dock föregripas av schemaläggningsmekanismer för molnleverantörer. Preemption av spot-instanser kan orsaka problem med körande uppgifter, inklusive:

  • Fel vid hämtning av shuffle
  • Dataförlust vid omfördelning
  • RDD-dataförlust
  • Misslyckade jobb

Du kan aktivera avveckling för att hantera dessa problem. Avaktivering drar nytta av det meddelande som molnleverantören vanligtvis skickar innan en instans av oanvänd kapacitet inaktiveras. När en spotinstans som innehåller en executor tar emot ett meddelande om föraviseras försöker inaktiveringsprocessen migrera shuffle- och RDD-data till felfria executors. 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 avveckling också är aktiverad. 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.

Anmärkning

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 inte inträffar när aktiviteter som körs hämtar shuffle-data från exekveraren.

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 avveckling

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 följande egenskap i Spark-konfigurationsfältet:

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

    spark.storage.decommission.enabled true
    spark.storage.decommission.shuffleBlocks.enabled true
    
  • För att möjliggöra migrering av RDD-cachedata under avveckling, ange denna egenskap i fältet för Spark-konfiguration:

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

    Anmärkning

    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 avvecklingsstatus och förlustorsak i användargränssnittet

Om du vill komma åt en arbetares avvecklingsstatus från användargränssnittet navigerar du till fliken Spark Compute UI - Master.

När avvecklingen är klar kan du visa exekverarens förlustorsak på fliken Spark UI > Executors på sidan med beräkningsdetaljer.