Contextos de execução do Databricks Notebook

Quando você anexa um Notebook a um clusters, o Databricks cria um contexto de execução. Um contexto de execução contém o estado de um ambiente REPL para cada linguagem de programação suportada: Python, R, Scala e SQL. Quando você executa uma célula em um Notebook, o comando é despachado para o ambiente REPL de idioma apropriado e execução.

Você também pode usar a API de execução de comando para criar um contexto de execução e enviar um comando para execução no contexto de execução. Da mesma forma, o comando é despachado para o ambiente e execução da linguagem REPL.

Um clusters tem um número máximo de contextos de execução (145). Depois que o número de contextos de execução atingir esse limite, você não poderá anexar um Notebook aos clusters ou criar um novo contexto de execução.

contextos de execução do parado

Um contexto de execução é considerado parado quando a última execução concluída ocorreu além de um limite de parado definido. A última execução concluída é a última vez que o Notebook concluiu a execução de comandos. O limite de parado é a quantidade de tempo que deve passar entre a última execução concluída e qualquer tentativa de desanexar automaticamente o Notebook.

Quando um clusters atinge o limite máximo de contexto, Databricks remove (remove) contextos de execução de parado (começando com o menos usado recentemente) conforme necessário. Mesmo quando um contexto é removido, o Notebook que usa o contexto ainda é anexado aos clusters e aparece na lista Notebook dos clusters . Notebook de transmissão são considerados ativamente em execução e seu contexto nunca é removido até que sua execução seja interrompida. Se um contexto de parado for removido, a IU exibirá uma mensagem indicando que o Notebook usando o contexto foi desanexado por ser parado.

Contexto Notebook removido

Se você tentar anexar um Notebook a clusters com número máximo de contextos de execução e não houver contextos de parado (ou se a remoção automática estiver desabilitada), a interface do usuário exibirá uma mensagem informando que o limite máximo atual de contextos de execução foi atingido e o Notebook permanecerá no estado desanexado.

Notebook desanexado

Se você bifurcar um processo, um contexto de execução de parado ainda será considerado parado assim que a execução da solicitação que bifurcou o processo retornar. Bifurcar processos separados não é recomendado com o Spark.

Configurar a remoção automática de contexto

A remoção automática está habilitada por default. Para desativar a remoção automática de clusters, defina a propriedade do Spark spark.databricks.chauffeur.enableIdleContextTracking false.

Determinar a versão do Spark e Databricks Runtime

Para determinar a versão Spark dos clusters aos quais seu Notebook está conectado, execute:

spark.version

Para determinar a versão do Databricks Runtime dos clusters aos quais seu Notebook está anexado, execução:

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

Observação

Tanto essas tags sparkVersion quanto a propriedade spark_version exigidas pelo endpoint na API Clusters e na API Jobs referem-se à versão do Databricks Runtime e não à versão do Spark.