【发布时间】:2016-11-17 17:21:56
【问题描述】:
我正在尝试使用 Spark (PySpark) 来对存储在多波段 GeoTiff 中的数据进行分析。我还是个 Spark 新手。
设置:
geotiff 本身足够小,可以在纯 python 中运行——特别是我正在使用 gdal 来读取数据。然后我创建数据框并进行分析。
但是分析需要一段时间。而且,我将经常性地分析数百个 geotiff - 进入 PySpark。
问题:
我编写的代码允许我在本地伪集群上运行分析。但是,由于工作节点无法在本地读取存储在主节点上的数据,因此使用适当的集群会失败。
HDFS 应该来拯救,但是 sc.textFile(..) 返回的原始未处理的 geotiff 内容不是很有用。
我可以预处理数据以将 geotiff 转换为 csv,但额外的开销可能会使其不值得。
我希望找到的两个解决方案是
- spark 方法,我们称之为
sc.rasterFile(...),它将geotiff 读入spark 数据帧或rdd -
从纯 python 方法访问 hdfs 的能力。有点像~
gdal.Open("hdfs://...", gc.GA_ReadOnly)
问题:
- 我认为上述两种解决方案都不可能是正确的吗?
- 是否有其他工具/方法/api 用于在 Spark 中处理 tiff?
谢谢!
【问题讨论】:
标签: apache-spark hdfs pyspark gdal geotiff