Currently Injector creates two mapreduce jobs:
1. sort job: get the urls from seeds file, emit CrawlDatum objects.
2. merge job: read CrawlDatum objects from both crawldb and output of sort job. Merge and emit final CrawlDatum objects.
Using MultipleInputs, we can read CrawlDatum objects from crawldb and urls from seeds file simultaneously and perform inject in a single map-reduce job.
Also, here are additional things covered with this jira:
1. Pushed filtering and normalization above metadata extraction so that the unwanted records are ruled out quickly.
2. Migrated to new mapreduce API
3. Improved documentation
4. New junits with better coverage
Relevant discussion over nutch-dev can be found here: