首页 > 解决方案 > 将数据从 AWS SQS 传输到 S3 的最佳方式是什么?

问题描述

情况就是这样——我有一个大型数据集,暂时保留在 AWS SQS 中(大约 200GB)。

我的主要目标是存储数据,以便我可以访问它以使用 AWS 构建机器学习模型。我相信,我应该将数据传输到 S3 存储桶。虽然处理小型数据集很简单,但我不确定处理大型数据集的最佳方法是什么。

我无法在笔记本电脑上进行本地操作,是吗?那么,我要创建一个 ec2 实例并在那里处理数据吗?亚马逊有很多不同的解决方案和集成方式,所以有点令人困惑。

谢谢你的帮助!

标签: amazon-web-servicesamazon-s3amazon-ec2bigdata

解决方案


也用于使用 AWS 构建机器学习模型。我相信,我应该将数据传输到 S3 存储桶。

恕我直言好主意。事实上,S3 是保留数据并能够重用它们的最佳选择(与 sqs 不同)。AWS 工具(sagemaker,ml)可以直接使用存储在 s3 中的内容。大多数机器学习框架都可以读取文件,您可以轻松地从 s3 复制文件或将存储桶挂载为文件系统(不是我最喜欢的选项,但可能)

虽然处理小型数据集很简单,但我不确定处理大型数据集的最佳方法是什么。

这取决于您拥有哪些数据以及您希望如何存储和处理数据文件。

如果您打算为每个 sqs 消息创建一个文件,我建议创建一个 lambda 函数(假设您可以相当快地读取和存储消息)。

如果您想聚合和/或连接源消息或处理消息需要很长时间,您可能宁愿编写脚本来读取和处理服务器上的数据。

我无法在笔记本电脑上进行本地操作,是吗?那么,我要创建一个 ec2 实例并在那里处理数据吗?

好吧 - 理论上你可以在笔记本电脑上完成,但这意味着下载 200G 并上传 200G(不计算开销和速度延迟)

恕我直言,您的直觉很好,在同一地区拥有 EC2 是最可行的,几乎可以在本地访问所有数据

亚马逊有很多不同的解决方案和集成方式,所以有点令人困惑。

对于不同的用例,您有许多可行的选项,通常是重叠的,因此确实可能看起来令人困惑


推荐阅读