使用 EMR Notebooks - Amazon EMR
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

使用 EMR Notebooks

创建 EMR Notebooks 后,在很短的时间内便可启动该笔记本。Notebooks (笔记本) 列表中的 Status (状态) 显示为 Starting (正在启动)。笔记本的状态为 Ready (就绪) 时,便可将其打开。如果您随笔记本一同创建了集群,则笔记本变为 Ready (就绪) 状态可能需要较长的时间。

提示

刷新浏览器或选择笔记本列表上方的刷新图标来刷新笔记本状态。

了解笔记本状态

EMR Notebooks 可以在 Notebooks (笔记本) 列表中具有以下 Status (状态)

状态 意义

Ready (就绪)

您可以使用笔记本编辑器打开笔记本。笔记本的状态为 Ready (就绪) 时,您可以将其停止或删除。要更改集群,您必须先停止笔记本。如果处于 Ready (就绪) 状态的笔记本长时间空闲,它将自动停止。

Starting (正在启动)

正在创建笔记本并将其附加到集群。笔记本处于“Starting (正在启动)”状态时,您无法打开笔记本编辑器,也无法停止、删除它或更改集群。

Pending (待处理)

已创建笔记本,正在等待与待完成的集集群成。集群可能仍在预置资源,也可能在响应其他请求。您可以在本地模式中使用笔记本打开笔记本编辑器。依赖于集群过程的任何代码均不会执行和失败。

Stopping (正在停止)

正在关闭笔记本或正在终止该笔记本附加到的集群。笔记本处于“Stopping (正在停止)”状态时,您无法打开笔记本编辑器,也无法停止、删除它或更改集群。

Stopped (已停止)

笔记本已关闭。只要集群仍在运行,您就可以在同一个集群上启动笔记本。您可以更改集群,也可以删除该集群。

Deleting (正在删除)

正在从可用集群列表中删除该集群。笔记本文件NotebookName.ipynb 会保留在 Amazon S3 中,并继续产生适用的存储费用。

使用笔记本编辑器

使用 EMR Notebooks 的一项优势是,您可以直接从控制台启动 Jupyter 或 JupyterLab 中的笔记本。

对于 EMR Notebooks,从 Amazon EMR 控制台访问的笔记本编辑器就是您熟悉的开源 Jupyter 笔记本编辑器或 JupyterLab。由于笔记本编辑器是在 Amazon EMR 控制台内启动的,与使用 Amazon EMR 集群上托管的笔记本相比,配置访问权限更高效。您无需将用户客户端配置为通过 SSH、安全组规则以及代理配置进行 Web 访问。如果用户具有足够的权限,他们只需在 Amazon EMR 控制台内打开笔记本编辑器即可。

一次只能有一个用户从 Amazon EMR 中打开 EMR Notebooks。如果其他用户尝试打开已打开的 EMR Notebooks,则会发生错误。

重要

Amazon EMR 为每个笔记本编辑器会话创建一个唯一的预签名 URL,该 URL 仅在短时间内有效。我们建议您不要共享笔记本编辑器 URL。这样做会产生安全风险,因为 URL 的收件人会采用您的权限来编辑笔记本并在 URL 的生命周期内运行笔记本代码。如果其他人需要访问笔记本,请通过权限策略向其 IAM 用户提供权限,并确保 EMR Notebooks 的服务角色有权访问 Amazon S3 位置。有关更多信息,请参阅EMR Notebooks 安全性和访问控制EMR Notebooks 的服务角色

为 EMR Notebooks 打开笔记本编辑器

  1. Notebooks (笔记本) 列表中选择 Status (状态)Ready (就绪)Pending (待处理) 的笔记本。

  2. 选择 Open in JupyterLab (在 JupyterLab 中打开)Open in Jupyter (在 Jupyter 中打开)

    JupyterLab 或 Jupyter 笔记本编辑器将在一个新的浏览器选项卡中打开。

  3. Kernel (内核) 菜单中,选择 Change kernel (选择内核),然后选择与您的编程语言相对应的内核。

    现在,您已准备就绪,可以从笔记本编辑器编写和运行代码了。

保存笔记本内容

在笔记本编辑器中执行操作时,笔记本单元内容和输出在 Amazon S3 中会自动定期保存到笔记本文件中。自上次编辑单元以来未进行任何更改的笔记本在编辑器的笔记本名称旁会显示 (autosaved) ([自动保存])。如果更改尚未保存,系统将显示 unsaved changes (未保存的更改)

您可以手动保存笔记本。从 File (文件) 菜单中,选择 Save and Checkpoint (保存和检查点) 或按 CTRL+S,这会在 Amazon S3 的笔记本文件夹中 checkpoints 文件夹下创建一个名为 NotebookName.ipynb 的文件。例如:s3://MyBucket/MyNotebookFolder/NotebookID/checkpoints/NotebookName.ipynb。该位置只保存最新的检查点文件。

更改集群

您可以更改已附加 EMR Notebooks 的集群,无需更改笔记本本身的内容。您可以只针对状态为 Stopped (已停止) 的笔记本更改集群。

更改 EMR Notebooks 的集群

  1. 如果要更改的笔记本正在运行中,请从 Notebooks (笔记本) 列表中选择该笔记本,然后选择 Stop (停止)

  2. 如果笔记本状态为 Stopped (已停止),请从 Notebooks (笔记本) 列表中选择该笔记本,然后选择 View details (查看详细信息)

  3. 选择 Change cluster (更改集群)

  4. 如果您有一个正在运行 Hadoop、Spark 和 Livy 且要向其附加笔记本的活动集群,保留其默认设置,然后从列表中选择一个集群。列表中只列出符合要求的集群。

    —或者—

    选择 Create a cluster (创建集群),然后选择集群选项。有关更多信息,请参阅集群要求

  5. Security groups (安全组) 选择一个选项,然后选择 Change cluster and start notebook (更改集群并启动笔记本)

删除笔记本和笔记本文件

使用 Amazon EMR 控制台删除 EMR Notebooks 时,您将从可用笔记本列表中删除该笔记本。但是,笔记本文件会保留在 Amazon S3 中,并继续产生存储费用。

删除笔记本并删除关联文件

  1. 通过以下链接打开 Amazon EMR 控制台:https://console.aws.amazon.com/elasticmapreduce/

  2. 选择 Notebooks (笔记本),从列表中选择您的笔记本,然后选择 View details (查看详细信息)

  3. 选择 Notebook location (笔记本位置) 旁边的文件夹图标并复制采用格式 s3://MyNotebookLocationPath/NotebookID/URL

  4. 选择 Delete

    系统将从列表中删除该笔记本,您无法再查看笔记本详细信息。

  5. 有关说明,请参阅《Amazon Simple Storage Service 用户指南》中的如何从 S3 存储桶中删除文件夹?。从步骤 3 导航到存储桶和文件夹。

    —或者—

    如果您已安装 Amazon CLI,请打开命令提示符窗口并键入此段落末尾处的命令。将 Amazon S3 位置替换为您在上面复制的位置。务必使用有权限删除该 Amazon S3 位置的用户的访问密钥配置 Amazon CLI。有关更多信息,请参阅《Amazon Command Line Interface 用户指南》中的配置 Amazon CLI

    aws s3 rm s3://MyNotebookLocationPath/NotebookID

共享笔记本文件

每个 EMR Notebooks 都作为名为 NotebookName.ipynb 的文件保存到 Amazon S3。只要笔记本文件与 EMR Notebooks 所基于的同一 Jupyter 笔记本版本兼容,您就可以将该笔记本作为 EMR Notebooks 进行打开。

打开来自其他用户的笔记本文件的最简单方法是,将来自其他用户的 *.ipynb 文件保存到您的本地文件系统,然后使用 Jupyter 和 Jupyterlab 编辑器中的上传功能。

您可以通过此过程使用其他人共享的 EMR Notebooks 、Jupyter 社区中共享的笔记本,或还原从控制台删除的笔记本(如果您仍具有该笔记本文件)。

将不同的笔记本文件用作 EMR Notebooks 的基础

  1. 继续操作之前,针对要使用的所有笔记本关闭笔记本编辑器,然后停止笔记本(如果是 EMR Notebooks)。

  2. 创建一个 EMR Notebooks 并为其输入一个名称。您为该笔记本输入的名称将是您需要替换的文件的名称。新文件名称必须与此文件名称完全匹配。

  3. 记下您为该笔记本选择的 Amazon S3 位置。您替换的文件位于路径和文件名采用以下格式的文件夹中:s3://MyNotebookLocation/NotebookID/MyNotebookName.ipynb.

  4. 停止笔记本。

  5. 使用完全相同的名称将 Amazon S3 位置中的旧笔记本文件替换为新的笔记本文件。

    以下适用于 Amazon S3 的 Amazon CLI 命令将保存在名为 SharedNotebook.ipynb 的本地计算机上的文件替换为名为 MyNotebook、ID 为 e-12A3BCDEFJHIJKLMNO45PQRST 的 EMR Notebooks,并使用 Amazon S3 中指定的 MyBucket/MyNotebooksFolder 创建。有关使用 Amazon S3 控制台复制和替换文件的信息,请参阅《Amazon Simple Storage Service 用户指南》中的上传、下载和管理对象

    aws s3 cp SharedNotebook.ipynb s3://MyBucket/MyNotebooksFolder/-12A3BCDEFJHIJKLMNO45PQRST/MyNotebook.ipynb