A sync type sets how a Lake table loads from its source, and what happens to rows that change or disappear there. Use this page to choose one, or to check that the type a table uses still fits.
Match your source to a sync type. A new table starts on Full Reload (Truncate Insert).
| Pattern | Sync Type | Each run pulls | Rows deleted in the source | Needs a date column |
|---|---|---|---|---|
| Full reload | Full Reload (Truncate Insert) | The entire table | Removed from the Lake | No |
| Incremental reload | Incremental Reload (Truncate Insert) | The last Synchronize Days | Removed inside the window only | Yes |
| Incremental reload loop | Incremental Reload Loop (Truncate Insert) | The last Synchronize Days, in steps of Loop Increment | Removed inside the window only | Yes |
| Full reload · upsert | Full Reload (Upsert) | The entire table, merged by key | Kept | No |
| Incremental · upsert | Incremental (Upsert) | The last Synchronize Days, merged by key | Kept | Yes |
| Full snapshot | Full Snapshot | The entire table, saved as a new version | Kept in the versions where they existed | No |
| Incremental snapshot | Incremental Snapshot | The last Synchronize Days, saved as a new version | Kept in the versions where they existed | Yes |
| Onetime | Onetime | The whole table, once, while the Lake table is empty | Not applicable | No |
As a rule of thumb:
You need Add/Modify Lake Objects to change a sync type. See Who can do what in the Lake.
To compare the patterns while you choose, click Sync patterns guide in the Synchronization section, then open the Compare tab.
The incremental settings appear only for incremental types.
| Setting | What it does | Default |
|---|---|---|
| Date Column | Sets the column that decides which rows fall inside the window. The list shows columns whose type or name contains date or timestamp. | None, you choose one |
| Synchronize Days | Sets how many days each run covers, including the current day. Whole number from 0 to 9999. | 10 |
| Loop Increment | Sets how many days each step of the loop type loads. Whole number from 1 to 9999. Shown only for the loop type. 100 days in steps of 10 takes ten steps. | 1 |
| Full Reload When Empty | Off means incremental sync only. On means that when the Lake table is empty, the first load covers all history, or the period from Full Reload Start Date. The switch reads Full reload on empty table or Incremental sync only. | Off |
| Full Reload Start Date | Sets the first day of that first load. Shown for Incremental Reload (Truncate Insert) and the loop type when Full Reload When Empty is on. Must fall between 1970-01-01 and 2106-02-07. Empty means all history on Incremental Reload (Truncate Insert); on the loop type the field marks it Required for Loop. | Empty |
Full Reload When Empty is off by default. Until you turn it on, an empty table is loaded only for the Synchronize Days window.
On a deployed table, moving between the upsert, snapshot and truncate-insert groups, for example from Full Reload (Truncate Insert) to Full Reload (Upsert), drops and recreates the table. The confirmation warns that all existing data will be permanently lost. Changing the Date Column of a deployed table also drops and recreates it.
Use Full Reload (Upsert) or Incremental (Upsert). Both merge by key, so rows deleted in the source stay in the Lake. Incremental (Upsert) reads only the window, so it is lighter on large tables.
Yes, with a snapshot type. Filter the rows where the date you need falls between Snapshot From and Snapshot To. Use Full Snapshot for small and medium tables, and Incremental Snapshot for large tables where only recent records change.
Increase Synchronize Days so the window covers how far back the source changes. Incremental types never read rows outside the window. If older rows can change at any time, use a full type.
Use Incremental Reload Loop (Truncate Insert). Turn on Full Reload When Empty, set Full Reload Start Date to the first day you need, and set Loop Increment. The field tip reads "Required. On an empty table the first load walks from this date to today, Loop Increment days per iteration." After that, each run covers the Synchronize Days window.
The table has no column with a date or datetime type, or, for an API stream, its recipe declares no cursor. Point at the greyed-out type to see the reason. Use a full type for that table.
Two checks apply. The table must belong to a workflow, and with Full Reload When Empty on you must set Full Reload Start Date. Without the date, the save is refused with "Full Reload Start Date is required for the Loop sync type when Full Reload When Empty is on". Set the date, turn the switch off, or choose another type.
Lake tables accumulate history, they do not replicate. Replication is never offered, and a request that asks for it is refused with Sync type "Replication" is never stored on a lake table: an analytical system accumulates history, it does not replicate. Choose one of those types instead.
Truncate the Lake table. The next run sees an empty table and loads it again. See Run, stop and troubleshoot loads.
Yes. Each run adds a full copy of the table, so storage grows by the size of the table on every run. For large tables, use Incremental Snapshot, which adds only the window.
It matters only while the Lake table has no rows. When it is off, the first load reads the Synchronize Days window only. When it is on, the first load reads all history, or the period from Full Reload Start Date if you set one. Later runs go back to the window.