Skip to content

ATLAS-5399 Add Apache Nutch metadata model and CrawlDb/HostDB import bridge - #748

Open
lewismc wants to merge 1 commit into
apache:masterfrom
lewismc:ATLAS-5399
Open

ATLAS-5399 Add Apache Nutch metadata model and CrawlDb/HostDB import bridge#748
lewismc wants to merge 1 commit into
apache:masterfrom
lewismc:ATLAS-5399

Conversation

@lewismc

@lewismc lewismc commented Sep 7, 2026

Copy link
Copy Markdown
Member

What changes were proposed in this pull request?

Catalog Apache Nutch crawls in Atlas without creating one entity per URL (ATLAS-5399).

Adds a Nutch metadata model (addons/models/7000-Nutch/) and a CrawlDb/HostDB import bridge (addons/nutch-bridge). The bridge creates crawl, seedlist, segment, domain, and host entities, plus per-crawl host metrics on nutch_crawl_hosts. Hosts are preferred from Nutch HostDB when {crawl}/hostdb/current exists; otherwise they are rolled up from CrawlDb. There is no nutch_url type.

Indexing lineage is not emitted here. The model includes nutch_index_process; the Nutch Atlas IndexWriter creates that process and a generic index DataSet (NUTCH-3210). The two sides share atlas.cluster.name and crawlId.

Import CLI:

hook-bin/import-nutch.sh -c -d [-H ] [-s ] [-g ]

The distro nutch-hook package ships the bridge and its runtime dependencies so import does not need Nutch on the classpath. Docs: docs/src/documents/Hook/HookNutch.md.

Out of scope: URL/page entities, Nutch REST/JobManager types (NUTCH-3165), indexer-kafka / ATLAS_HOOK, inject/fetch/parse process types.

How was this patch tested?

  • mvn -pl addons/nutch-bridge test (CrawlDb MapFile partitions, HostDB SequenceFile, qualified names, host rollup, model JSON)
  • Live dev-support/atlas-docker (postgres) with seed https://nutch.apache.org/: import created crawl, seedlist, segment, apache.org, nutch.apache.org, and crawl-host metrics; Nutch IndexingJob then created the index DataSet and nutch_index_process
  • Lineage in the Atlas UI: crawl + segment to nutch_index_process to index

See attached screenshot of the lineage tab for the demo indexing process.
atlas-nutch-lineage

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant