在 Amazon S3 中配置笔记本的持久性 - Amazon EMR
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

在 Amazon S3 中配置笔记本的持久性

您可以在 Amazon EMR 中配置 JupyterHub 集群,以便用户保存的笔记本保留在 Amazon S3 中,而不是集群 EC2 实例上的临时存储空间。

在创建集群时使用 jupyter-s3-conf 配置分类指定 Amazon S3 持久性。有关更多信息,请参阅配置应用程序

除了使用 s3.persistence.enabled 属性启用 Amazon S3 持久性之外,还请使用 s3.persistence.bucket 属性在保存笔记本的 Amazon S3 中指定存储桶。每个用户的笔记本将保存到指定存储桶中的 jupyter/jupyterhub-user-name 文件夹。该存储桶必须已存在于 Amazon S3 中,并且您在创建集群时指定的 EC2 实例配置文件的角色必须对此存储桶具有权限(默认情况下,此角色为 EMR_EC2_DefaultRole)。有关更多信息,请参阅配置 IAM 角色以获得 Amazon EMR 服务的权限。 Amazon

当您使用相同的配置分类属性启动新集群时,用户可以打开内容来自已保存位置的笔记本。

请注意,当您启用了 Amazon S3 后,如果将文件作为模块导入到笔记本中,这会导致文件上载到 Amazon S3。当您在不启用 Amazon S3 持久性的情况下导入文件时,它们会上传到您的 JupyterHub 容器中。

以下示例启用 Amazon S3 持久性。用户保存的笔记本保存在每个用户的 s3://MyJupyterBackups/jupyter/jupyterhub-user-name 文件夹中,其中 jupyterhub-user-name 是一个用户名(如 diego)。

[ { "Classification": "jupyter-s3-conf", "Properties": { "s3.persistence.enabled": "true", "s3.persistence.bucket": "MyJupyterBackups" } } ]