我在AWS SageMaker上开始了一些机器学习运营项目,并有一个关于存储/处理数据方式的问题。我有一个包含数千万发票和客户的公司数据库,这些数据需要进行一些清理和转换,以便进行分类和回归任务。最好的方法是什么:是创建一个新的数据库并开发ETL作业,从标准数据库中提取数据,清理和转换后放入“机器学习数据库”(然后我直接使用这些数据进行建模),还是开发作业从标准数据库中提取数据,处理后将其保存为巨大的CSV文件到S3存储桶中?直觉上,似乎关系型数据库 -> 处理 -> NoSQL/关系型数据库的方法比关系型数据库 -> 处理 -> 巨大CSV文件的方法更好。我在谷歌上没有找到任何相关信息,所有的AWS SageMaker文档都以S3上的CSV文件为例,并且没有提到直接使用关系型存储数据构建机器学习流程。最好的方法是什么?为什么?
回答:
你的第一个方法听起来不错:
- 原始数据保持不变,以防你以后需要重复这个过程(可能还会有变化/改进)。
- 一旦你将其连接起来,系统将适用于任何数据源;即你可以重复使用转换和加载部分。
我对SageMaker等以及整个CSV的事情一无所知,但是一旦你将数据放入你的机器学习数据库,你显然可以稍后将其导出为任何你喜欢的格式,比如CSV。