Share via


Uitvoeringscontexten voor Databricks-notebooks

Wanneer u een notebook aan een cluster koppelt, maakt Azure Databricks een uitvoeringscontext. Een uitvoeringscontext bevat de status voor een REPL-omgeving voor elke ondersteunde programmeertaal: Python, R, Scala en SQL. Wanneer u een cel in een notebook uitvoert, wordt de opdracht verzonden naar de juiste REPL-omgeving en uitgevoerd.

U kunt ook de opdrachtuitvoerings-API gebruiken om een uitvoeringscontext te maken en een opdracht te verzenden die moet worden uitgevoerd in de uitvoeringscontext. Op dezelfde manier wordt de opdracht verzonden naar de REPL-taalomgeving en uitgevoerd.

Een cluster heeft een maximum aantal uitvoeringscontexten (145). Zodra het aantal uitvoeringscontexten deze drempelwaarde heeft bereikt, kunt u een notebook niet koppelen aan het cluster of een nieuwe uitvoeringscontext maken.

Niet-actieve uitvoeringscontexten

Een uitvoeringscontext wordt beschouwd als niet-actief wanneer de laatste voltooide uitvoering plaatsvond na een ingestelde drempelwaarde voor inactiviteit. De laatste voltooide uitvoering is de laatste keer dat het notebook de uitvoering van opdrachten heeft voltooid. De drempelwaarde voor inactiviteit is de hoeveelheid tijd die moet worden doorgegeven tussen de laatste voltooide uitvoering en elke poging om het notebook automatisch los te koppelen.

Wanneer een cluster de maximale contextlimiet heeft bereikt, worden inactieve uitvoeringscontexten van Azure Databricks verwijderd (te beginnen met de minst recent gebruikte) indien nodig. Zelfs wanneer een context wordt verwijderd, wordt het notebook met behulp van de context nog steeds gekoppeld aan het cluster en wordt deze weergegeven in de lijst met notebooks van het cluster. Streaming-notebooks worden als actief uitgevoerd beschouwd en hun context wordt nooit verwijderd totdat de uitvoering is gestopt. Als een niet-actieve context wordt verwijderd, geeft de gebruikersinterface een bericht weer dat aangeeft dat het notebook dat de context gebruikt, is losgekoppeld omdat deze niet actief is.

Notebookcontext verwijderd

Als u probeert een notebook toe te voegen aan een cluster met een maximum aantal uitvoeringscontexten en er geen niet-actieve contexten zijn (of als automatisch verwijderen is uitgeschakeld), wordt in de gebruikersinterface een bericht weergegeven met de mededeling dat de huidige drempelwaarde voor maximale uitvoeringscontexten is bereikt en het notebook de status Losgekoppeld blijft.

Notitieblok losgekoppeld

Als u een proces forkeert, wordt een niet-actieve uitvoeringscontext nog steeds als niet-actief beschouwd zodra de uitvoering van de aanvraag die het proces heeft gesplitst, wordt geretourneerd. Het wordt afgeraden om afzonderlijke processen te forken met Spark.

Automatische verwijdering van context configureren

Automatisch verwijderen is standaard ingeschakeld. Als u automatische verwijdering voor een cluster wilt uitschakelen, stelt u de Spark-eigenschapspark.databricks.chauffeur.enableIdleContextTracking false in.

Spark- en Databricks Runtime-versie bepalen

Voer de volgende opdracht uit om te bepalen aan welke Spark-versie van het cluster uw notebook is gekoppeld:

spark.version

Voer de volgende opdracht uit om de Databricks Runtime-versie van het cluster te bepalen waaraan uw notebook is gekoppeld:

spark.conf.get("spark.databricks.clusterUsageTags.sparkVersion")

Notitie

Zowel deze sparkVersion tag als de spark_version eigenschap die is vereist voor de eindpunten in de Clusters-API en taken-API , verwijzen naar de Databricks Runtime-versie, niet naar de Spark-versie.