You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Databricks中保存栅格数据时出现GDAL错误求助

在Databricks笔记本中使用terra::writeRaster保存TIFF时的GDAL I/O错误解决方法

问题描述

执行以下R代码保存栅格数据时,出现一系列GDAL警告与错误:

terra::writeRaster(r, 'test.tif')

错误信息示例:

Warning: _tiffSeekProc:Operation not supported (GDAL error 1)
Warning: TIFFWriteDirectoryTagData:IO error writing tag data (GDAL error 1)
...
Warning: I/O error (GDAL error 3)

解决方法

1. 直接写入DBFS路径

Databricks本地Driver节点的文件系统不支持GDAL写入TIFF所需的随机读写操作,改用DBFS(Databricks文件系统)路径即可解决。优先使用挂载的云存储路径(如ADLS、S3),示例代码:

# 替换为你的DBFS挂载路径
terra::writeRaster(r, '/dbfs/mnt/your-storage-path/test.tif', overwrite = TRUE)

注意:需提前完成云存储与DBFS的挂载配置,确保集群对该路径有写入权限。

2. 本地临时文件中转

如果需要使用本地临时存储过渡,先写入Driver的临时目录,再复制到DBFS:

# 写入本地临时目录
terra::writeRaster(r, '/tmp/test.tif', overwrite = TRUE)
# 复制到目标DBFS路径
system("cp /tmp/test.tif /dbfs/mnt/your-storage-path/test.tif")

3. 检查依赖与权限

  • 确认集群已安装GDAL相关依赖:如果是自定义Databricks集群,需确保libgdal-dev、gdal-bin等包已通过初始化脚本或集群库安装。
  • 验证目标存储权限:确保集群服务账号对写入的DBFS/云存储路径有写入权限,比如AWS IAM角色、Azure RBAC权限配置正确。

内容的提问来源于stack exchange,提问作者89_Simple

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 08:50:43