Kernels do Jupyter e ambientes de notebook

Os notebooks Jupyter são executados em kernels nos ambientes de notebooks Jupyter ou, caso os notebooks utilizem APIs do Spark, esses kernels são executados em um ambiente Spark.

O número de kernels do Juypter iniciados em um ambiente depende do tipo de ambiente:

  • Ambientes de CPU ou GPU

    Quando você abre um notebook no modo de edição, exatamente uma sessão interativa se conecta a um kernel do Jupyter para a linguagem do notebook e o ambiente de execução que você selecionar. O ambiente de execução é iniciado por usuário e não por notebook. Isso significa que, se você abrir um segundo notebook com o mesmo modelo de ambiente, um segundo kernel será iniciado nesse ambiente de execução. Os recursos são compartilhados. Se você quiser evitar o compartilhamento de recursos de tempo de execução, deve associar cada notebook ao seu próprio modelo de ambiente.

    Importante: Parar um kernel de notebook não interrompe o ambiente de execução no qual o kernel foi iniciado, pois outros kernels de notebook ainda podem estar ativos nesse ambiente. Só interrompa a execução do ambiente se tiver certeza de que não há kernels ativos.
  • Ambientes Spark

    Quando você abre um notebook no modo de edição em um ambiente Spark, um cluster Spark dedicado é iniciado, mesmo que outro notebook tenha sido aberto no mesmo modelo de ambiente Spark. Cada kernel de notebook possui seu próprio driver do Spark e seu próprio conjunto de executores do Spark. Não há recursos compartilhados.

Se necessário, você pode reiniciar ou se reconectar a um kernel. Quando você reinicia um kernel, ele é interrompido e, em seguida, reiniciado na mesma sessão, mas todos os resultados da execução são perdidos. Quando você se reconecta a um kernel após perder a conexão, o notebook é conectado à mesma sessão do kernel, e todos os resultados de execução anteriores que foram salvos ficam disponíveis.

Se você fechar acidentalmente a janela do navegador do notebook enquanto o notebook ainda estiver em execução, ou se o sistema encerrar sua sessão caso o seu trabalho demore muito tempo para ser executado, o kernel permanecerá ativo. Quando você reabre o mesmo notebook, ele é conectado ao mesmo kernel e todas as células de saída são mantidas. O andamento da execução de um notebook só pode ser restaurado para notebooks executados em um kernel local. Se o seu notebook estiver sendo executado em um cluster Spark ou Hadoop, todas as alterações feitas no notebook que não tenham sido salvas antes de você sair do notebook ou fechar a janela do navegador serão perdidas, e o andamento da execução não será restaurado após a página do notebook ser reaberta.

Saiba mais