微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用 python rasterio 和 pyspark

如何解决使用 python rasterio 和 pyspark

我正在使用 python Rasterio 处理 tif 图像,为了加快速度,我也使用了 spark,我的示例代码如下

import Rasterio
from pyspark.sql import SparkSession


def customFunction1(row,dem):
  #print(row)
  x = row.split("|")
  latitude = float(x[2])
  longitude = float(x[3])
  row,col = dem.index(longitude,latitude)
  dem_data = dem.read(1)
  return dem_data[row,col]

spark = SparkSession \
.builder \
.appName("Python Spark Rasterio") \
.config("spark.some.config.option","some-value") \
.getorCreate()


rddFromFile = spark.sparkContext.textFile("file.csv")
with Rasterio.open('1.tif') as src:
  sample2 = rddFromFile.map(lambda row: customFunction1(row,src))
  sample2.saveAsTextFile("new.csv")

当我运行上面的代码时出现错误“无法序列化对象:TypeError:self._hds 无法转换为 Python 对象进行酸洗”

似乎光栅不支持火花并行处理。有没有其他方法可以做到这一点,因为我需要处理大量数据。我可以用来处理数百万条记录的其他库的任何建议。任何帮助表示赞赏。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。