我使用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.\u无法将hds转换为python对象进行pickle”
rasterio似乎不支持使用spark进行并行处理。因为我需要处理大量的数据,所以有没有其他方法可以做到这一点。任何我可以用来处理数百万条记录的其他库的建议。谢谢你的帮助。
暂无答案!
目前还没有任何答案,快来回答吧!