更新时间:2024-03-20 GMT+08:00

上传本地超大文件(5GB以上)至JupyterLab

不支持在Notebook的JupyterLab中直接上传大小超过5GB的文件。

图1 不支持直接上传大小超过5GB的文件

5GB以上的文件需要先从本地上传到OBS中,再在Notebook中调用ModelArts的Moxing接口或者SDK接口读写OBS中的文件。

图2 在Notebook中上传下载大文件

具体操作如下:

  1. 从本地上传文件至OBS。具体操作请参见上传文件至OBS桶
  2. 将OBS中的文件下载到Notebook,可以通过在Notebook中运行代码的方式完成数据下载,具体方式有2种,ModelArts的SDK接口或者调用MoXing接口。
    • 方法一:使用ModelArts SDK接口将OBS中的文件下载到Notebook后进行操作。

      示例代码:

      1
      2
      3
      from modelarts.session import Session
      session = Session()
      session.obs.copy("obs://bucket-name/obs_file.txt","/home/ma-user/work/")
      
    • 方法二:使用如下Moxing接口将OBS中的文件同步到Notebook后进行操作。
      import moxing as mox
      
      #下载一个OBS文件夹sub_dir_0,从OBS下载至Notebook
      mox.file.copy_parallel('obs://bucket_name/sub_dir_0', '/home/ma-user/work/sub_dir_0')
      #下载一个OBS文件obs_file.txt,从OBS下载至Notebook
      mox.file.copy('obs://bucket_name/obs_file.txt', '/home/ma-user/work/obs_file.txt')

      如果下载到Notebook中的是zip文件,在Terminal中执行下列命令,解压压缩包。

      unzip xxx.zip  #在xxx.zip压缩包所在路径直接解压

      代码执行完成后,参考图3打开Terminal后执行ls /home/ma-user/work命令查看下载到Notebook中的文件。或者在Jupyter左侧导航中显示下载的文件,如果没有显示,请刷新后查看,如图4所示。

      图3 打开Terminal
      图4 查看下载到Notebook中的文件

异常处理

通过OBS下载文件到Notebook中时,提示Permission denied。请依次排查:

  • 请确保读取的OBS桶和Notebook处于同一站点区域。不支持跨站点访问OBS桶。
  • 请确认操作Notebook的账号有权限读取OBS桶中的数据。

具体请参见ModelArts中提示OBS路径错误