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

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

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

您可以在 Amazon 中配置 JupyterHub 集群,EMR以便用户保存的笔记本保留在 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 Amazon 服务的EMR权限

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

请注意,当您启用了 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" } } ]