Jupyter 内核与笔记本环境
Jupyter Notebook 在 Jupyter Notebook 环境中的内核中运行;如果 Notebook 使用 Spark API,则这些内核在 Spark 环境中运行。
在一个环境中启动的笔记本Jupyter内核数量取决于环境类型:
CPU 或 GPU 环境
当您以编辑模式打开一个笔记本时,会建立一个交互会话,该会话将连接到一个 Jupyter 内核,该内核对应您所选的笔记本语言和运行时环境。 运行时是按用户启动的,而不是按笔记本启动的。 这意味着,如果您使用相同的环境模板打开第二个笔记本,该运行时中将启动第二个内核。 资源是共享的。 若要避免共享运行时资源,必须将每个笔记本与各自的环境模板关联起来。
重要提示: 停止一个笔记本内核并不会停止启动该内核的环境运行时,因为该运行时中可能还有其他笔记本内核处于活动状态。 只有在确定没有活跃内核的情况下,才应停止环境运行时。Spark 环境
当您在 Spark 环境中以编辑模式打开一个笔记本时,系统会启动一个专用的 Spark 集群,即使在同一 Spark 环境模板中已打开了另一个笔记本。 每个笔记本内核都有自己的 Spark 驱动程序和一组 Spark 执行器。 没有共享的资源。
如有必要,您可以重启内核或重新连接到内核。 重启内核时,内核会在同一会话中停止运行并重新启动,但所有执行结果都会丢失。 当连接中断后重新连接到内核时,笔记本将连接到同一内核会话,并且所有之前保存的执行结果均可使用。
如果在笔记本仍在运行时您不小心关闭了笔记本的浏览器窗口,或者因任务运行时间过长而被系统注销,内核仍将保持活跃状态。 当您重新打开同一本笔记本时,该笔记本将连接到同一内核,并且所有输出单元格都会被保留。 仅对于在本地内核中运行的笔记本,其执行进度才能被恢复。 如果您的笔记本运行在 Spark 或 Hadoop 集群中,那么在您退出笔记本或关闭网页浏览器窗口之前未保存的所有笔记本更改都将丢失,且在重新打开笔记本页面后,执行进度将无法恢复。