将数据从AWS SQS传输到S3的最佳方法是什么?

时间:2018-09-07 11:00:20

标签: amazon-web-services amazon-s3 amazon-ec2 bigdata

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

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

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

感谢您的帮助!

1 个答案:

答案 0 :(得分:3)

  

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

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

  

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

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

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

如果要聚合和/或连接源消息或处理消息将花费太长时间,则可以编写脚本来读取和处理服务器上的数据。

  

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

好吧-从理论上讲,您可以在笔记本电脑上做到这一点,但这意味着下载200G和上传200G(不计算开销和速度延迟)

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

  

Amazon有许多不同的解决方案和集成方式,这有点令人困惑。

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