【问题标题】:Best solution for weather data warehouse netcdf or grib [closed]天气数据仓库 netcdf 或 grib 的最佳解决方案 [关闭]
【发布时间】:2021-10-14 07:43:29
【问题描述】:

问题:

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

要求:

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

想法:

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

【问题讨论】:

  • 我在这个问题上工作了很长时间,我决定对不同的问题使用不同的解决方案。可以使用 PostgreSQL 管理对数据的快速访问。但它不是存档数百或数千个预测的解决方案,因为数据要大 20-40%,而且将数据推送到 psql 需要大量时间。对于存档,我使用带有 lat/lon 批处理数据的 netcdf 文件系统。对于每个批次,我都有一个用于空间操作的 cKDTree 以提高访问速度。

标签: postgresql bigdata data-warehouse netcdf grib


【解决方案1】:

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

文件不是一个糟糕的主意,只要您可以对数据进行分区,以便任何查询只需要访问一部分文件即可。基于 YEAR、MONTH、LAT-Decade 和 LON-Decade 的分区策略可能会起作用 - 您需要了解需要执行哪些查询以及多快(合理的时间是多少?)。这种方法成本最低。

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

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

鉴于您使用的数据量很大,我要再次强调,边做边学将非常耗时。您可能希望找到您正在使用的工具(以及您拥有的数据大小)方面的专家,以便快速上手。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-12-08
    • 2012-12-06
    • 2013-06-11
    • 1970-01-01
    • 1970-01-01
    • 2013-10-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多