Amazon web services 将数据从AWS SQS传输到S3的最佳方式是什么?

Amazon web services 将数据从AWS SQS传输到S3的最佳方式是什么?,amazon-web-services,amazon-s3,amazon-ec2,bigdata,Amazon Web Services,Amazon S3,Amazon Ec2,Bigdata,这里就是一个例子——我有一个大数据集,暂时保存在AWS SQS中(大约200GB) 我的主要目标是存储数据,以便使用AWS构建机器学习模型。我认为,我应该将数据传输到S3存储桶。虽然处理小数据集很简单,但我不确定处理大数据集的最佳方法是什么 我不可能在笔记本电脑上本地完成,是吗?那么,我是否要创建一个ec2实例并在那里处理数据?亚马逊有很多不同的解决方案和集成方式,所以有点让人困惑 谢谢你的帮助 用于使用AWS构建机器学习模型。我认为,我应该将数据传输到S3存储桶 好主意。事实上,S3是保留数据

这里就是一个例子——我有一个大数据集,暂时保存在AWS SQS中(大约200GB)

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

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

谢谢你的帮助

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

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

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

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

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

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

我不可能在笔记本电脑上本地完成,是吗?那么,我是否要创建一个ec2实例并在那里处理数据

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

你的直觉很好,在同一地区使用EC2是最可行的,几乎可以在本地访问所有数据

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


对于不同的用例,您有许多可行的选项,通常是重叠的,因此它看起来确实很混乱

嘿!非常感谢您的回复。这很有帮助。不过,我的另一个担忧是,在下载到bucket之前,我必须将这么多数据存储在某个缓冲区中。假设我有100000条消息,每条10KB。假设我有一个python脚本,可以循环使用它们,并创建一个数据帧,准备作为csv写入s3。我是否只是部分地处理这些消息-可能实现多部分上传?