如何解决无法访问 Azure 机器学习服务笔记本上挂载的数据集
我正在使用 Azure 机器学习服务中的笔记本功能。在这个笔记本中,我连接到工作区,检索相应的数据存储并将我的文件作为文件数据集对象检索。到目前为止,一切正常。
from azureml.core import Workspace,Datastore,Dataset
import pandas as pd
import os
workspace = Workspace.from_config()
container="cnt_name"
file_path = 'actual_path'
# get datstore and dataset
datastore = Datastore.get(workspace,container)
datastore_path = [(datastore,file_path )]
dataset = Dataset.File.from_files(datastore_path)
现在我尝试挂载这个 file_dataset
mounted_path = "/tmp/test_dir4"
dataset_mounted = dataset.mount(mounted_path)
ls -ltr /tmp/
prwx------ 1 azureuser azureuser 0 May 12 13:29 clr-debug-pipe-14801-259046-out
prwx------ 1 azureuser azureuser 0 May 12 13:29 clr-debug-pipe-14801-259046-in
d--------- 0 root root 0 May 12 13:29 test_dir4
drwx------ 3 azureuser azureuser 4096 May 12 13:29 tmpjrb2tx8g
-rw------- 1 azureuser azureuser 364 May 12 13:29 tmp5w_ikt6j
drwx------ 2 azureuser azureuser 4096 May 12 13:29 pyright-14886-W3YT3PTdzoIO
但这是我的问题:挂载的文件夹是由 root 用户挂载的。我无法访问它 - 无论是从笔记本还是从外壳。 ls 产生典型的错误 path not found
或 permission denied
。
解决方法
你就快到了! dataset.mount(mounted_path)
有点令人不安,但它实际上会返回一个挂载上下文,之后您需要启动才能使其工作如下:
# mount dataset onto the mounted_path of a Linux-based compute
mount_context = dataset.mount(mounted_path)
mount_context.start()
之后您可以使用以下代码检查您确实可以访问这些文件:
import os
print(os.listdir(mounted_path))
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。