我用python处理了很多地理空间数据(主要是天气预报),对于这个问题,我用xarray做了很多工作。
xarray支持转换为hdf/netcdf文件,如果您希望存储数据而不要求再次访问的速度,这是很好的。我要找的是一个数据库,用于快速访问xarray的单个数据点,以构建restful web-api。有没有一种简单的方法可以将xarray存储到这样的数据库中?
注意:典型的xarray.DataArray包含一个值数组,坐标如纬度、经度和时间戳。值的水平维度等于经纬度形成的网格,第三维度等于xarray.DataArray中的长度时间戳。

最佳答案

我会考虑两个选择。
如果您有一个分布式文件系统基础设施,那么您可以通过创建包含数据块的netcdf文件来利用它,使用ncml聚合数据并在ERDDAP服务器中发布数据集。通过这条路径,您可以有一个不错的访问速度,api可以以多种格式(nc、.mat、csv、json等)访问数据,还可以将数据直接拉到xarray工作流中。
我还将探讨使用zarr格式存储数据的可能性,这一格式不同于netcdf,数据存储在文件夹结构的块中,它还支持并发访问,使用这种格式,您可以使用键、值存储store the data with cloud providers(google,aws)。通过并行化分析,您还可以使用dask利用您的工作流。
如果计划构建一个定制的api rest,请查看FastAPI

关于python - 基于xarray的数据库有哪些可能性?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57614515/

10-11 05:14
查看更多