Ingest from object storage
Use a bucket synchronizer when files land in Amazon S3, Cloudflare R2, Google Cloud Storage, or another S3-compatible bucket and you want Altertable to load them into a catalog.
A bucket synchronizer runs on a schedule. Each run imports new files from the configured bucket paths into destination tables, and skips files that were already loaded.
When to use a bucket synchronizer
Use this path for:
- Parquet, CSV, or JSON files written to stable bucket paths.
- File drops produced by ELT jobs, reverse ETL jobs, or application exports.
- Append-style datasets where new files arrive over time.
- Data that should be copied into Altertable-managed tables for SQL, dashboards, and AI workflows.
If you only need to query files in place without copying them, use Bucket Tables, Iceberg Tables, or S3 Tables.
Set up a bucket synchronizer
- Connect the bucket that contains the files.
- Open the destination catalog in the Altertable app.
- In Synchronizers, click Add synchronizer.
- Choose Bucket as the source type.
- Select the bucket and file format.
- Choose the target schema.
- Map each bucket path to the table Altertable should load.
- Save the synchronizer and configure its schedule.
The file format applies to every path in the synchronizer. Use separate synchronizers when different paths use different formats.
Query synced tables
After the synchronizer runs, query the destination tables with fully qualified names such as analytics.main.events from the SQL explorer, HTTP query API, DuckDB extension, BI adapters, MCP tools, and AI workflows.
Keep paths stable
Bucket synchronizers work best when upstream jobs write new files to predictable paths. Keep partitioning consistent, avoid rewriting files after they have been loaded, and grant Altertable least-privilege access to the bucket paths it needs.
To send records or ad hoc files directly to Altertable, use ingest with HTTP API or ingest with DuckDB.