What is NoSQL ETL?
Datacrafter is an ETL (Extract, Transform, Load) command-line tool. It is built for record-oriented, NoSQL-shaped data — JSON Lines and BSON — not for warehouse SQL transforms.
Extract, Transform, Load
- Extract — download or generate files into
current/(URL, patterned HTML index, APIBackuper, RSS/Atom, DCAT catalog, or a trusted Pythoncollect()script). - Transform — iterate records through
keymap,typemap, optionalautotype/autoid, and optional custom Pythonprocess(record). - Load — write JSONL/BSON/CSV/Parquet (optionally compressed) or a document
store / search index (MongoDB, ArangoDB, CouchDB, Meilisearch). File
destinations also write
output/datapackage.jsonunless disabled.
That is the opposite of ELT (load first, transform in the warehouse). Datacrafter shapes records before they are written to the destination.
When to use Datacrafter
- Packaging public or government dumps (CSV, Excel, ZIP+XML, RSS/Atom, DCAT)
- Repeating the same extract → JSONL/BSON job from a git-friendly
datacrafter.yml - Loading cleaned documents into MongoDB, ArangoDB, CouchDB, or Meilisearch
Datacrafter is not a warehouse orchestrator, a dbt replacement, or a Meltano / Singer tap catalog. See When to use Datacrafter.
Project layout
A Datacrafter project is a directory, not a hidden SQLite database. See Projects.