Documentation
faucet-stream is a data-movement platform. One faucet binary moves data between 43 sources and 35 sinks from a YAML file, with incremental state, CDC and exactly-once delivery built in.
cargo install faucet-clifaucet init my_pipeline --source postgres --sink bigqueryfaucet run my_pipeline.yamlWhat do you want to do?
Section titled “What do you want to do?”
Move your first dataInstall faucet and run a pipeline in five minutes.
Keep tables in syncIncremental replication, upserts and CDC mirrors.
Run it in productionDeploy, schedule, monitor and upgrade safely.
Find a connectorBrowse every source and sink and what each supports.
- Shape data with transforms
- Check data quality
- Use Template Hub templates
- Embed faucet in Rust
- Write your own connector
- Compare with other tools
Understand the foundations
Section titled “Understand the foundations”Four ideas explain almost everything faucet does.
How a pipeline runsSource, transforms and sink, streamed page by page in bounded memory.
State and resumingBookmarks that let every run pick up exactly where the last one stopped.
Delivery guaranteesAt-least-once by default, exactly-once where the sink can commit atomically.
Where your data may goData-flow policies, PII masking and contracts, checked before a row moves.