gpt4 book ai didi

python - 如何使用 Azure Synapse 和 pySpark 笔记本从 ADLS gen2 检索 .dcm 图像文件?

转载 作者:行者123 更新时间:2023-12-03 07:00:27 26 4
gpt4 key购买 nike

我想要访问 Azure Synapse Analytics 上 pyspark 笔记本中 ADLS gen2 上的容器中存储的 .dcm (dicom) 类型的文件。我正在使用 pydicom 访问文件,但收到错误消息该文件不存在。请看下面的代码,

要创建我正在使用路径库的文件路径:

Path(path_to_dicoms_dir).joinpath('stage_2_train_images/%s.dcm' % pid)

其中 pid 是 dcm 图像的 ID。

为了获取 dcm 图像,我使用以下方式。

d = pydicom.read_file(data['dicom']) 
OR
d = pydicom.dcmread(data['dicom'])

其中 data['dicom'] 是路径。

我检查了路径,没有问题,文件存在,并且所有访问权限都在那里,因为我正在访问这些 dcm 文件所在目录上方的目录中的其他文件。但其他文件是csv而不是dcm

错误:

FileNotFoundError: [Errno 2] No such file or directory: 'abfss:/@.dfs.core.windows.net//stage_2_train_images/stage_2_train_images/003d8fa0-6bf1-40ed-b54c-ac657f8495c5.dcm'

我心中的问题:

  • 对于此类图像数据来说,这是正确的存储解决方案吗?如果不是,我是否应该使用博客存储?
  • 这是 pydicom 库的问题吗?我缺少一些设置来告诉 pydicom 这是一个 ADLS 链接。
  • 或者我应该完全改变方法并使用 databricks 来运行我的笔记本吗?
  • 或者有人可以帮助我解决问题吗?

最佳答案

Is this the right storage solution for such image data, if not shall Iuse blog storage then?

ADLS Gen2 存储帐户与 Synapse 完美配合,因此无需使用 blob 存储。

看起来像pydicom没有正确选择路径。

您需要mount突触中的 ADLS Gen2 帐户,以便 pydicom如果采用 URL,则会将路径视为附加硬盘驱动器。

按照本教程,我的 Microsoft 为 How to mount Gen2/blob Storage做同样的事情。

您需要首先创建一个Linked Service在 Synapse 中,它将存储您的 ADLS Gen2 帐户连接详细信息。稍后在笔记本中使用以下代码来挂载存储帐户:

mssparkutils.fs.mount( 
"abfss://mycontainer@<accountname>.dfs.core.windows.net",
"/test",
{"linkedService":"mygen2account"}
)

关于python - 如何使用 Azure Synapse 和 pySpark 笔记本从 ADLS gen2 检索 .dcm 图像文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72448355/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com