天气数据仓库netcdf或gridb的最佳解决方案



问题:

为机器学习专家团队寻找存储和轻松获取大量天气数据的最佳解决方案。最初,我以netCDFgrib格式从cds.climate.copernicus.eu获取数据。在grib或netCDF中,大约会有一些1-20Tb

要求:

  • ML专家可以在给定时间范围内轻松查询给定位置(点、多边形)的数据
  • 结果会在合理的时间内返回

想法:

  • Postgres。我想也许pg会处理那么多数据。但我遇到的问题是,将数据加载到postgres将需要很长时间,此外,它将占用比10-20Tb多得多的空间(因为我计划以类似行的格式存储数据,其中有两个表Point和WeatherMeasurement)这是个好主意吗?有人经历过这种数据和pg吗
  • 亚马逊红移。将此解决方案用于天气数据会是一个好方法吗。如何将netCDf或grib加载到其中?我对这种可行的解决方案没有任何经验
  • 文件。只需将数据存储在gridb或netCDF文件中。我会写一些简化的Python接口来从这些文件中获取数据吗?但问题是,查询是否足够快?有人用过这些吗

对于这种大小的数据,如果你想沿着多个维度快速进行子选择,我会倾向于Redshift。您需要注意如何查询数据并建立数据模型,以便为所需的子集提供最快的访问。您可能需要在最初设置时获得一些帮助,因为这种数据大小的试错方法需要一段时间。此外,Redshift在这种规模下并不便宜,所以也要问预算问题。如果数据库只需要在部分时间内运行,则可以减少这种情况。

文件并不是一个可怕的想法,只要你可以对数据进行分区,这样任何查询都只需要访问文件的子集。基于YEAR、MONTH、LAT Decade和LON Decade的分区策略可能会奏效——您需要了解需要执行哪些查询以及执行速度(什么是合理的时间?)。这种方法成本最低。

还有一个组合选项-红移光谱。Redshift可以利用S3中的数据库信息AND在相同的查询中存储的数据。同样,设置Redshift数据模型和S3分区将是至关重要的,但这个组合可以为您提供有价值的属性。

对于这些选项中的任何一个,您都希望转换为更友好的数据库格式,如Parquet(甚至CSV)。需要了解这个转换过程以及如何合并新数据。有很多云工具可以帮助进行此处理。

考虑到你正在处理的数据量,我会再次强调,边学习边学习会很耗时。你可能想在你正在使用的工具中找到专家(以及你所拥有的数据大小),以便快速上手。

最新更新