Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon s3 使用Glacier作为web爬行的后端_Amazon S3_Amazon Ec2_Amazon Ebs_Amazon Glacier - Fatal编程技术网

Amazon s3 使用Glacier作为web爬行的后端

Amazon s3 使用Glacier作为web爬行的后端,amazon-s3,amazon-ec2,amazon-ebs,amazon-glacier,Amazon S3,Amazon Ec2,Amazon Ebs,Amazon Glacier,我将在几个月内从EC2抓取数百万个URL,我正在考虑应该将这些数据存储在哪里。我的最终目标是对其进行分析,但分析可能不会立即进行(尽管我现在出于其他原因希望对其进行爬网),而且我可能希望最终将数据的副本传输出去,以便存储在我拥有的本地设备上。我估计数据将在5TB左右 我的问题:我正在考虑为此使用Glacier,我的想法是运行一个多线程爬虫程序,在本地(在EB上)存储爬虫页面,然后使用一个单独的线程组合、压缩并将数据传输到Glacier。我知道在冰川上的传输速度不一定很好,但由于这一过程中没有在线

我将在几个月内从EC2抓取数百万个URL,我正在考虑应该将这些数据存储在哪里。我的最终目标是对其进行分析,但分析可能不会立即进行(尽管我现在出于其他原因希望对其进行爬网),而且我可能希望最终将数据的副本传输出去,以便存储在我拥有的本地设备上。我估计数据将在5TB左右

我的问题:我正在考虑为此使用Glacier,我的想法是运行一个多线程爬虫程序,在本地(在EB上)存储爬虫页面,然后使用一个单独的线程组合、压缩并将数据传输到Glacier。我知道在冰川上的传输速度不一定很好,但由于这一过程中没有在线元素,这似乎是可行的(尤其是因为我可以随时增加本地EBS卷的大小,以防我爬行的速度超过我在冰川上的存储速度)

我的方法是否存在缺陷,或者有人能提出一种更具成本效益、更可靠的方法来做到这一点吗


谢谢

红移似乎比冰川更相关。冰川是关于冻结/解冻的,在进行任何分析之前,您必须移动数据

Redshift更多的是将数据添加到一个大型、廉价的数据仓库中,并在其上运行查询

另一种选择是将数据存储在EBS中并保留在那里。完成爬网后,拍摄快照,将卷推入S3,并取消分配卷和EC2实例。然后,当您准备好进行分析时,只需从快照创建一个卷

这种方法的好处是,它的所有文件访问(没有正式的数据存储),这可能会更容易为您

就个人而言,我可能会将数据推入红移模式。:-)

--
Chris

如果您的分析不能立即进行,那么您可以采用以下两种方法之一

方法1)Amazon EC2爬虫->存储在EBS磁盘中-经常将它们移动到Amazon S3->定期存档到glacier。您可以将最近X天的数据存储在AmazonS3中,并将其用于临时处理

方法2)亚马逊EC2爬虫->存储在EBS磁盘中-经常将其移动到亚马逊冰川。需要时检索,并在EMR或其他处理工具上进行处理

如果您需要频繁分析:

方法3)Amazon EC2爬虫->存储在EBS磁盘中-通过EMR或其他工具将其频繁移动到Amazon S3->分析,并将处理结果存储在S3/DB/MPP中,并将原始文件移动到glacier

方法4)如果您的数据是结构化的,那么Amazon EC2爬虫->存储在EBS磁盘中,并将其移动到Amazon RedShift,将原始文件移动到glacier

其他提示: 如果您可以再次(从源代码)检索数据,那么您可以为爬虫程序使用临时磁盘,而不是EBS


亚马逊推出了数据管道服务,请检查它是否适合您在数据移动方面的需要。

Glacier基本上是一种长期存档工具,着眼于法规遵从性(例如,“您必须将XYZ数据存档至少保留N年”)。从it中检索数据是一个缓慢、复杂、有时成本高昂的过程-除非您存储了大量不太可能检索到的数据,否则它可能不是适合此项工作的工具。感谢您深思熟虑的评论。我不确定红移对我来说是否合适(我通常不需要DW),但你的帖子让我想到了其他一些选择,我很感谢你对冰川的评论。