Contextos de execução de notebook do Databricks
Quando você anexa um notebook a um cluster, o Azure 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 com suporte: Python, R, Scala e SQL. Quando você executa uma célula em um notebook, o comando é enviado para o ambiente REPL de idioma apropriado e é executado.
Você também pode usar a API de execução de comandos para criar um contexto de execução e enviar um comando para ser executado no contexto de execução. Da mesma forma, o comando é expedido para o ambiente REPL de linguagem e é executado.
Um cluster 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 ao cluster ou criar um novo contexto de execução.
Contextos de execução ociosos
Um contexto de execução é considerado ocioso quando a última execução concluída ocorreu após um limite ocioso definido. A última execução concluída é a última vez que o notebook concluiu a execução de comandos. O limite ocioso é a quantidade de tempo que deve passar entre a última execução concluída e qualquer tentativa de desconectar automaticamente o notebook.
Quando um cluster atinge o limite máximo de contexto, o Azure Databricks remove contextos de execução ociosos (começando com o menos usado recentemente) conforme necessário. Mesmo quando um contexto é removido, o notebook que usa o contexto ainda é anexado ao cluster e aparece na lista de notebooks do cluster. Os notebooks de streaming são considerados ativamente em execução e seu contexto nunca é despejado até que sua execução seja interrompida. Se um contexto ocioso for retirado, a interface do usuário exibirá uma mensagem indicando que o notebook que usa o contexto foi desalojado devido à ociosidade.
Se você tentar anexar um notebook ao cluster que tenha o número máximo de contextos de execução e não houver contextos ociosos (ou se a redução automática estiver desabilitada), a interface do usuário exibirá uma mensagem indicando que o limite máximo atual de contextos de execução foi atingido e o notebook permanecerá no estado desanexado.
Se você criar uma bifurcação de um processo, um contexto de execução ocioso ainda será considerado ocioso após a execução da solicitação que a bifurcação do processo retorna. A bifurcação de processos separados não é recomendada com o Spark.
Configurar a remoção automática de contexto
Por padrão, a autorremoção está habilitada. Para desabilitar a remoção automática de um cluster, defina a Propriedade do Sparkspark.databricks.chauffeur.enableIdleContextTracking false
.
Determinar versão do Spark e do Databricks Runtime
Para determinar a versão do Spark do cluster ao qual seu bloco de anotações está anexado, execute:
spark.version
Para determinar a versão do Databricks Runtime do cluster ao qual seu bloco de anotações está anexado, execute:
spark.conf.get("spark.databricks.clusterUsageTags.sparkVersion")
Observação
Tanto essa marca sparkVersion
quanto a propriedade spark_version
exigida pelos pontos de extremidade na API de Clusters e na API de Trabalhos referem-se à Versão do Databricks Runtime, não à versão do Spark.
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de