Konteksty wykonywania notesu usługi Databricks

Po dołączeniu notesu do klastra usługa Azure Databricks tworzy kontekst wykonywania. Kontekst wykonywania zawiera stan środowiska REPL dla każdego obsługiwanego języka programowania: Python, R, Scala i SQL. Po uruchomieniu komórki w notesie polecenie jest wysyłane do odpowiedniego środowiska REPL języka i uruchamiane.

Możesz również użyć interfejsu API wykonywania poleceń, aby utworzyć kontekst wykonywania i wysłać polecenie do uruchomienia w kontekście wykonywania. Podobnie polecenie jest wysyłane do środowiska REPL języka i uruchamiane.

Klaster ma maksymalną liczbę kontekstów wykonywania (145). Gdy liczba kontekstów wykonywania osiągnie ten próg, nie można dołączyć notesu do klastra ani utworzyć nowego kontekstu wykonywania.

Konteksty wykonywania bezczynności

Kontekst wykonywania jest traktowany jako bezczynny , gdy ostatnie ukończone wykonanie nastąpiło poza ustawionym progiem bezczynności. Ostatnie ukończone wykonanie to czas ostatniego ukończenia wykonywania poleceń przez notes. Próg bezczynności to czas, który musi przechodzić między ostatnim ukończonym wykonaniem i próbą automatycznego odłączenia notesu.

Gdy klaster osiągnął maksymalny limit kontekstu, usługa Azure Databricks usuwa (eksmit) bezczynne konteksty wykonywania (począwszy od najmniej ostatnio używanych) zgodnie z potrzebami. Nawet po usunięciu kontekstu notes przy użyciu kontekstu jest nadal dołączony do klastra i pojawia się na liście notesów klastra. Notesy przesyłania strumieniowego są traktowane jako aktywnie uruchomione, a ich kontekst nigdy nie jest eksmitowany, dopóki ich wykonywanie nie zostanie zatrzymane. Jeśli kontekst bezczynności jest eksmitowany, interfejs użytkownika wyświetla komunikat wskazujący, że notes używający kontekstu został odłączony z powodu bezczynności.

Eksmitowany kontekst notesu

Jeśli spróbujesz dołączyć notes do klastra, który ma maksymalną liczbę kontekstów wykonywania i nie ma kontekstów bezczynności (lub jeśli automatyczne eksmisja jest wyłączona), w interfejsie użytkownika zostanie wyświetlony komunikat informujący, że osiągnięto bieżący próg maksymalnych kontekstów wykonywania, a notes pozostanie w stanie odłączenia.

Odłączony notes

W przypadku rozwidlenia procesu kontekst bezczynności wykonywania jest nadal traktowany jako bezczynny po wykonaniu żądania, które rozwidlenie procesu zwróci. Rozwidanie oddzielnych procesów nie jest zalecane w przypadku platformy Spark.

Konfigurowanie automatycznego eksmisji kontekstu

Automatyczne eksmisji jest domyślnie włączone. Aby wyłączyć automatyczne eksmisji dla klastra, ustaw właściwośćspark.databricks.chauffeur.enableIdleContextTracking false Spark.

Określanie wersji środowiska Spark i databricks Runtime

Aby określić wersję platformy Spark klastra, do którego jest dołączony notes, uruchom polecenie:

spark.version

Aby określić wersję środowiska Databricks Runtime klastra, do którego jest dołączony notes, uruchom polecenie:

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

Uwaga

Zarówno ten sparkVersion tag, jak i spark_version właściwość wymagana przez punkty końcowe w interfejsie API klastrów i interfejsie API zadań, odwołują się do wersji środowiska Databricks Runtime, a nie wersji platformy Spark.