Я впервые пользуюсь EMR/Hadoop и впервые использую Apache Nutch. Я пытаюсь использовать Apache Nutch 2.1 для очистки экрана. Я хотел бы запустить его на Hadoop, но не хочу настраивать свой собственный кластер (по одной кривой обучения за раз). Поэтому я использую ЭМИ. И я бы хотел, чтобы S3 использовался для вывода (и любого ввода, который мне нужен).
Я читал вики по настройке Nutch:
http://wiki.apache.org/nutch/NutchTutorial
http://wiki.apache.org/nutch/NutchHadoopTutorial
И они очень помогли мне освоить самые основы натчинга. Я понимаю, что могу собрать nutch из исходного кода, предварительно настроить некоторые регулярные выражения, а затем остаться с дружественной к Hadoop банкой:
$NUTCH_HOME/runtime/deploy/apache-nutch-2.1.job
Кульминацией большинства руководств является выполнение команды сканирования. В примерах Hadoop это:
hadoop jar nutch-${version}.jar org.apache.nutch.crawl.Crawl urls -dir crawl -depth 3 -topN 5
А в примере с локальным развертыванием это что-то вроде:
bin/nutch crawl urls -dir crawl -depth 3 -topN 5
Мой вопрос заключается в следующем. Что мне нужно сделать, чтобы мой apache-nutch-2.1.job работал на EMR? Какие аргументы, чтобы передать это? В приведенном выше примере сканирования Hadoop файл «urls» уже находится на hdfs с начальными URL-адресами. Как это сделать на ЭМИ? Кроме того, что мне указать в командной строке, чтобы мой окончательный вывод был на S3 вместо HDFS?