ML train/test 作业,数据与 S3 csv 一样大或直接来自预处理的关系或 NoSql 数据库

ML train/test jobs with data as huge S3 csv or directly from a preprocessed Relational or NoSql DB

我开始在 AWS SageMaker 上从事一些 ML Ops 项目,我对 storing/processing 数据的方式有疑问。我拥有一家拥有数千万发票和客户的公司的数据库,对于某些分类和回归工作应该 cleaned/transformed 有点。什么是最好的方法:创建一个新的数据库并开发从标准数据库中获取数据的 ETL 作业,清理并转换它并将其放入“ML DB”(然后我直接将这些数据用于我的模型)或制作从标准数据库中获取数据的作业,对其进行处理并将其作为巨大的 CSV 文件保存在 S3 存储桶中?直觉上,Relational DB -> process -> NoSql/Relational DB 似乎比 Relational DB -> process -> huge CSV file 更好。我在 Google 上没有找到任何关于此的信息,并且所有 AWS SageMaker 文档都使用 S3 上的 CSV 文件作为示例,并且没有在任何地方提及直接使用关系存储数据制作 ML 管道。最好的方法是什么?为什么?

您的第一种方法听起来不错:

  • 原始数据保持原样,以防您以后需要重复该过程(可能有更改/改进)。
  • 一旦您接入,该系统将适用于任何数据源;即您可以重新使用转换和加载部分。

我对 SageMaker 等或整个 CVS 的事情一无所知,但是一旦您的 ML DB 中有了数据,您显然可以将其导出为您以后喜欢的任何格式,例如 CVS。