BigQuery is Google Cloud's data warehouse. Lima lands Parquet files in Cloud Storage, runs load jobs into partitioned and clustered tables, applies changes with MERGE and reads BigQuery when it is the source.
Each method has a job. The first load uses the bulk method; the daily run uses the incremental or change-capture method; write-back uses the interface the system itself uses.
| Method | What it does | When it is used |
|---|---|---|
| Load jobs from Cloud Storage | Bulk loads Parquet into partitioned tables. | First loads. |
| MERGE | Applies changes by key. | Deltas. |
| Storage Write API | Streams rows for low-lag landing. | Micro-batches. |
| Reads via the Storage Read API | Reads tables in parallel streams. | BigQuery as a source. |
The objects are the tables, views or records Lima reaches through the methods above. The patterns say how a copy is made and kept current.
| Object | Plain meaning |
|---|---|
| raw dataset | as arrived |
| conformed dataset | current by key |
| history dataset | every version |
| Pattern | Supported |
|---|---|
| Full load | Yes |
| Incremental | Yes |
| Change capture | applied by MERGE |
| Streaming | Storage Write API |
| Write-back | — |
Choosing partition and cluster keys so MERGE stays cheap on large tables.
The prerequisites are what the team that runs Google BigQuery grants. The four steps are the same for every connector.
Incoming data = valid records + exception records. A row that fails a check is kept, routed to the person who owns it with a deadline, and replayed once fixed. The load carries on with the valid rows and the report says exactly what was held back. How exceptions work →
Each pair page covers one path end to end: objects out, model in, checks, cadence and the offer.
Landing and history: full history landed with a count check per table, then kept current.
Open the pair page →Landing and history: full history landed with a count check per table, then kept current.
Open the pair page →Landing and history: full history landed with a count check per table, then kept current.
Open the pair page →Landing and history: full history landed with a count check per table, then kept current.
Open the pair page →Landing and history: full history landed with a count check per table, then kept current.
Open the pair page →Landing and history: full history landed with a count check per table, then kept current.
Open the pair page →Landing and history: full history landed with a count check per table, then kept current.
Open the pair page →Landing and history: full history landed with a count check per table, then kept current.
Open the pair page →Landing and history: full history landed with a count check per table, then kept current.
Open the pair page →Landing and history: full history landed with a count check per table, then kept current.
Open the pair page →Lima connects from outside through the interfaces listed above with credentials your administrators grant. Where a vendor requires its own agent or add-on for a method, the prerequisites say so.
Parallel reads are capped and the cap is agreed with the team that runs the system. Large reads run inside an agreed run window. Change capture keeps the daily volume small.
A report per run: rows in, rows out, control totals and variance per table, the exceptions held back and who owns them, and whether the deadline was met.
Yes. Most estates start with one source, one target and one dataset, then add tables and patterns on the same connection.
A trial connects this system, runs a first load and ends with a reconciliation report. Your administrators see the prerequisites before anything is installed.