从 Azure Databricks 读取 Azure Datalake Gen2 图像
Read Azure Datalake Gen2 images from Azure Databricks
正在处理存储在 Azure Data Lake Gen2 中的 .tif
文件。想要使用 Azure Databricks 中的 rasterio
打开此文件。
示例:
从 Data Lake 读取图像文件时 spark.read.format("image").load(filepath)
工作正常。
但尝试打开方式与
相同
with rasterio.open(filepath) as src:
print(src.profile)
获取错误:
RasterioIOError: wasbs://xxxxx.blob.core.windows.net/xxxx_2016/xxxx_2016.tif: No such file or directory
有什么线索做错了吗?
更新:
按照 Axel R 的建议,在 Databricks 文件系统上安装了文件,但仍然遇到同样的问题,无法从 rasterio 打开文件,但可以读取为 df。
还尝试在 Datalake 中创建对文件的共享访问签名,并尝试通过 URI 访问文件。现在出现以下错误:
CURL error: error setting certificate verify locations: CAfile: /etc/pki/tls/certs/ca-bundle.crt CApath: none
为了进一步测试尝试从网络打开一个相同的文件,它是@
filepath = 'http://landsat-pds.s3.amazonaws.com/c1/L8/042/034/LC08_L1TP_042034_20170616_20170629_01_T1/LC08_L1TP_042034_20170616_20170629_01_T1_B4.TIF'
工作正常
我认为这是因为 rasterio 使用本地 API,并且只能从以 /dbfs/ 开头的路径读取。
您可以挂载 blob 存储吗?这将允许您使用以 /dbfs/mnt/
开头的路径访问它
正在处理存储在 Azure Data Lake Gen2 中的 .tif
文件。想要使用 Azure Databricks 中的 rasterio
打开此文件。
示例:
从 Data Lake 读取图像文件时 spark.read.format("image").load(filepath)
工作正常。
但尝试打开方式与
相同with rasterio.open(filepath) as src:
print(src.profile)
获取错误:
RasterioIOError: wasbs://xxxxx.blob.core.windows.net/xxxx_2016/xxxx_2016.tif: No such file or directory
有什么线索做错了吗?
更新:
按照 Axel R 的建议,在 Databricks 文件系统上安装了文件,但仍然遇到同样的问题,无法从 rasterio 打开文件,但可以读取为 df。
还尝试在 Datalake 中创建对文件的共享访问签名,并尝试通过 URI 访问文件。现在出现以下错误:
CURL error: error setting certificate verify locations: CAfile: /etc/pki/tls/certs/ca-bundle.crt CApath: none
为了进一步测试尝试从网络打开一个相同的文件,它是@
filepath = 'http://landsat-pds.s3.amazonaws.com/c1/L8/042/034/LC08_L1TP_042034_20170616_20170629_01_T1/LC08_L1TP_042034_20170616_20170629_01_T1_B4.TIF'
工作正常
我认为这是因为 rasterio 使用本地 API,并且只能从以 /dbfs/ 开头的路径读取。
您可以挂载 blob 存储吗?这将允许您使用以 /dbfs/mnt/
开头的路径访问它