繁体   English   中英

Nutch 在 EMR 中对原始数据进行持久存储的最佳选择

[英]Nutch best option for persistent storage in EMR for raw data

我必须在 EMR AWS 服务上使用 Nutch 1.x 爬取大约 30k 到 50k 的域。 这将是渐进的,即首先抓取所有页面,然后仅抓取这些网站的新页面或更新页面。 对于索引,我使用 Apache Solr。我对 EMR 的最佳实践几乎没有疑问

  1. 如果我必须重新索引或分析旧的爬取数据,我认为原始数据应该存储在 S3 上。 这是正确的选择吗?
  2. 对于我的第一个问题,是将 S3 配置为 HDFS 的后端存储更好,还是我应该在 EMR 作业结束时手动复制文件夹。
  3. 在任何一种情况下,为了优化原始数据在 S3 中的存储,我如何在从 EMR 集群导入或导出 S3 时压缩数据。
  4. 我如何指示 Nutch 仅从给定的种子中抓取新找到的页面
  1. Nutch 能够直接从 S3 读取/写入,请参阅using-s3-as-nutch-storage-system
  2. 将段和 CrawlDb 直接写入 S3 是有意义的。 但是将其保留在 HDFS 上,然后将 (distcp) 复制到 S3 也是可以的。
  3. 请参阅mapreduce.output.fileoutputformat.compress.codec - org.apache.hadoop.io.compress.ZStandardCodec是一个不错的选择。
  4. (最好单独再问一遍)抓取的域是否都提供站点地图 否则,挑战是许多新的 URL 重新获取不太可能已知的页面。 如果您想要所有新页面或确保所有已删除的页面都被识别为这样,则重新抓取所有内容会更容易。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM