簡體   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