文档首页 > > AI工程师用户指南> 开发环境(Notebook)> 使用JupyterLab> 数据的上传和下载> 数据上传至JupyterLab

数据上传至JupyterLab

分享
更新时间:2020/09/11 GMT+08:00

在JupyterLab页面中,通过单击“Upload”快捷键上传文件,详细操作可参见JupyterLab简介及常用操作章节的上传文件。当在Notebook或JupyterLab上传文件提示受限时,您可以先将大文件上传到OBS中,然后根据不同场景将大文件下载到Notebook中。

步骤1:上传文件至OBS

针对大文件场景,由于OBS管理控制台对文件大小和数量限制较多,所以推荐使用OBS工具上传大文件,如OBS Browser+或obsutil工具上传。OBS Browser+是一个比较常用的图形化工具,,支持完善的桶管理和对象管理操作。推荐使用此工具创建桶或上传对象。obsutil是一款用于访问管理OBS的命令行工具,对于熟悉命令行程序的用户,obsutil是执行批量处理、自动化任务的好的选择。OBS上传文件指导,请参见《OBS工具指南》

您可以通过以下多种方式将文件上传至桶,OBS最终将这些文件以对象的形式存储在桶中。

表1 不同访问方式上传对象的方法

访问方式

上传对象方法

控制台

通过控制台上传对象

OBS Browser+

通过OBS Browser+上传对象

obsutil

通过obsutil上传对象

SDK

使用SDK上传对象,具体参考各语言开发指南的上传对象章节

API

PUT上传POST上传

步骤2:从OBS中将文件下载至Notebook

由于Notebook实例可以挂载OBS或EVS作为存储位置,针对不同的实例,请操作方式不同。

  • 对于挂载EVS的Notebook实例下载文件
    • 使用Moxing操作OBS文件将OBS中的文件同步到Notebook后进行操作。
      读取一个OBS文件。例如读取“obs://bucket_name/obs_file.txt”文件内容,返回string(字符串类型)。
      1
      file_str = mox.file.read('obs://bucket_name/obs_file.txt')
      
      也可以使用打开文件对象并读取的方式来实现,两者是等价的。
      1
      2
      with mox.file.File('obs://bucket_name/obs_file.txt', 'r') as f:
        file_str = f.read()
      
    • 使用ModelArts SDK的从OBS下载数据接口将OBS中的文件下载到Notebook后进行操作。

      当单个文件大小超过5GB时,无法使用此方式上传。推荐使用MoXing接口上传大文件。

      示例代码:

      1
      2
      3
      from modelarts.session import Session
      session = Session()
      session.download_data(bucket_path="/bucket-name/dir1/sdk.txt", path="/home/user/sdk/obs.txt")
      
  • 对于带OBS存储的Notebook实例下载文件

    将文件上传至创建Notebook实例时指定的OBS路径,然后使用Sync OBS功能将OBS中的文件同步到Notebook即可。

分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!非常感谢您的反馈,我们会继续努力做到更好!
反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

智能客服提问云社区提问