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

在 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)。有关更多信息,请参阅为Amazon服务的 Amazon EMR 权限配置 IAM 角色

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

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