我想使用Spark(PySpark)来分析存储在多波段GeoTiffs中的数据。我在Spark方面还是个新手。
设置:
GeoTiffs本身足够小,可以在纯Python中运行,具体来说,我使用gdal来读取数据。然后,我创建数据帧并进行分析。
问题:
我编写了代码,使我能够在本地伪集群上运行分析。但是,在真正的集群中失败,因为主节点上存储的数据无法在工作节点上本地读取。
HDFS应该会挽救局面,但是sc.textFile(...)返回地理图的原始未处理内容,这并不是很有用。
我可以预处理数据,将地理图转换为csv,但是额外的开销可能不值得。
我希望找到的两个解决方案是:
1.一个Spark方法,让我们称之为sc.rasterFile(...),它将读取Geotiff到Spark数据帧或rdd中
2.从纯Python方法访问hdfs的能力。类似于~
gdal.Open("hdfs://...", gc.GA_ReadOnly)
问题:
1.我是否正确地认为以上两种解决方案都不可行?
2.是否有其他用于在Spark中处理tiffs的工具/方法/API?
谢谢!
设置:
GeoTiffs本身足够小,可以在纯Python中运行,具体来说,我使用gdal来读取数据。然后,我创建数据帧并进行分析。
问题:
我编写了代码,使我能够在本地伪集群上运行分析。但是,在真正的集群中失败,因为主节点上存储的数据无法在工作节点上本地读取。
HDFS应该会挽救局面,但是sc.textFile(...)返回地理图的原始未处理内容,这并不是很有用。
我可以预处理数据,将地理图转换为csv,但是额外的开销可能不值得。
我希望找到的两个解决方案是:
1.一个Spark方法,让我们称之为sc.rasterFile(...),它将读取Geotiff到Spark数据帧或rdd中
2.从纯Python方法访问hdfs的能力。类似于~
gdal.Open("hdfs://...", gc.GA_ReadOnly)
问题:
1.我是否正确地认为以上两种解决方案都不可行?
2.是否有其他用于在Spark中处理tiffs的工具/方法/API?
谢谢!