How to Migrate a Connection from Snowflake Native Tables to Lakehouse Tables Beta
You can migrate a connection from a Snowflake destination that uses Native tables to another Snowflake destination that uses Lakehouse tables.
During the migration, Fivetran copies the existing data to the new destination and preserves the connection's sync cursor, so you do not need to perform a historical re-sync. The table names remain the same after the migration. However, some column data types may change when Fivetran converts them to the corresponding Apache Iceberg data types.
You can migrate the connection from your Fivetran dashboard or by using the REST API.
Prerequisites
Before you begin, make sure you have the following:
- A Snowflake destination that uses Native tables and contains the connection you want to migrate.
- A Snowflake destination that uses Lakehouse tables and has the same Host and Database values as the Snowflake destination that uses Native tables. To create one, see our Snowflake setup guide.
The migration is subject to the same limitations as the CONTINUE_WITH_DATA sync behavior of the Move a Connection REST API endpoint. For example, the connection must not use the Source naming convention or have dbt Core transformations.
Lakehouse tables do not support partitioning or Snowflake Time Travel. After migration, these features are no longer available for the connection's tables.
Data type changes
Lakehouse tables use Apache Iceberg data types. As a result, Fivetran converts some Snowflake Native table columns to the closest matching Iceberg data type during migration.
The following table shows the data types that change:
| Fivetran data type | Before migration (Snowflake Native tables) | After migration (Lakehouse tables) |
|---|---|---|
| INSTANT | TIMESTAMP_TZ(9) | TIMESTAMPTZ(6) |
| LOCALDATETIME | TIMESTAMP_NTZ(9) | TIMESTAMP(6) |
| JSON, JSONB, XML | VARIANT | STRING |
| FLOAT | FLOAT | DOUBLE |
- Timestamp columns change from nanosecond precision (9) to microsecond precision (6) because Iceberg V2 supports microsecond precision.
- Columns converted from VARIANT to STRING are stored as strings rather than as semi-structured data.
Review downstream queries, views, and models that depend on columns whose data types change.
Migrate the connection from your Fivetran dashboard
In your Fivetran dashboard, go to Connections and select the connection you want to migrate.
Do one of the following:
- Click Convert to Iceberg Tables next to the destination name.
- Click Start migration.
Click Select for the Snowflake destination you want to move the connection to.
Review the data type changes that will occur during migration.
Click Start migration.
In the Confirm migration dialog, enter
MIGRATE, and then click Start migration.When the migration starts:
- The connection enters the Migration in Progress state.
- Fivetran waits for any running sync to finish, and then pauses the connection.
- Downstream transformations and models do not receive new data until the migration completes.
- You cannot edit the connection, destination, or schema until the migration completes.
Monitor the migration. The page displays the migration start time and the number of tables migrated.
You can close the page while the migration is in progress. Fivetran emails you when the migration completes.
When the migration completes, review the following information:
- Validation: The number of tables migrated and the row count comparison result.
- Updated connection: The new destination, the table type (Iceberg tables), and the connection status.
Click Back to
<connection name>.Resume the connection to continue syncing. Fivetran does not resume it automatically.
After the migration
After the migration:
- The connection page displays the associated Managed Data Lake Service destination and the number of linked Snowflake destinations.
- The connection Status page lists the Connection Paused and Connection Moved actions.
- Fivetran retains a backup of the original tables in the Snowflake destination that uses Native tables.
Connections that use Lakehouse tables belong to the associated Managed Data Lake Service destination rather than directly to the Snowflake destination.
For information about validating the migrated data and the retained backup, see our How to Migrate a Connection from Snowflake Native Tables to Lakehouse Tables Using Fivetran REST API.
Migrate by using the Fivetran REST API
You can also migrate a connection by using the Move a Connection REST API endpoint with the CONTINUE_WITH_DATA sync behavior.
For step-by-step instructions, see How to Migrate a Connection from Snowflake Native Tables to Lakehouse Tables Using Fivetran REST API.