Microsoft Fabric OneLake as a target
Configure Microsoft Fabric OneLake as a target to load data from supported source systems into Delta tables in your Lakehouse.
Prerequisites
Before you begin, ensure that you have:
- A valid Microsoft Fabric OneLake connection. For more information, refer to Creating a connection to Microsoft Fabric OneLake.
- A Lakehouse in the target workspace.
- Workspace Contributor access on the target workspace, and Lakehouse Contributor access on the target Lakehouse. The exact access needed depends on the loading mode you configure. For more information, refer to Permissions required at each phase.
Configure the Target tab
- Open your Data Flow and navigate to the Target tab.
- Under Target Connection, select your Microsoft Fabric OneLake connection.
- Click Test Connection to confirm the credentials are valid.
- Under Data Loading Settings, select the destination Workspace.
- Select the destination Lakehouse. Data Integration populates this list based on the selected Workspace.
- Select a Schema. Data Integration populates this list based on the selected Lakehouse.
- For a schema-enabled Lakehouse, you must select a schema. If you do not, the Data Flow fails to run. For more information, refer to Known issues.
- A legacy Lakehouse, created before Fabric introduced schema support, does not require a schema. The Schema field does not apply, and tables load directly under the Lakehouse. For more information, refer to Known issues for a UI bug that can affect this field.
- Review the Target Path Preview. It shows the exact destination path for your data, for example:
OneLake://<workspace>/<lakehouse>.Lakehouse/Tables/<schema>/<table_name>. - (Optional) Expand Advanced Settings and turn on Add Rivery Metadata to include tracking columns, such as the last update time and the run that loaded the row, in every target table. For more information, refer to Data Integration metadata for the full list of columns this adds.
Table names, loading mode, and key columns for the Merge loading mode are configured per table on the Schema tab.
Configure the Schema tab
-
Click Tables Definitions to set the Default Loading Mode applied to every table: Upsert Merge (default), Append Only, or Overwrite. For more information, refer to Upsert-merge method overview for how Merge works.
-
In the schema and table lists, select the tables you want to load. All tables are cleared by default, so select the checkbox for each table to load.
-
To partition a table, click Partition on the table's Mapping tab and move the columns to partition on into the Partition on list. Drag to set the load order, then click Apply Changes.
-
To override the default loading mode for a single table, open the table, go to the Table Target Settings tab, turn on Override Default Target Settings, and select a different Table Loading Mode.
-
If you use the Merge loading mode, click Match Key on the Mapping tab and move at least one column to Match Key Columns.
-
To configure how Data Integration extracts data for a table, open the table and go to the Table Source Settings tab:
- Select an Extraction Method: Incremental to extract only new or updated records based on an incremental field, or All to extract the complete table on every run.
- Set the Exporter Chunk Size to control how many records Data Integration exports per chunk.
- (Optional) Enter a Filters expression to limit which rows the table extracts from the source.
- For timestamp columns, set the Timestamp Format and, if needed, the Time Zone Offset to align extraction with your source's time zone.
These settings apply to how Data Integration reads from the source table. They are the same regardless of which target you use.
Save and run the Data Flow
- Click Save Changes to save your Target and Schema configuration.
- Click Run Data Flow to start a load, or activate the Data Flow to run it on its schedule.
Known issues
- Missing schema on a schema-enabled Lakehouse: If you do not select a Schema for a Lakehouse that requires one, the Data Flow fails to run. The failure does not currently produce a detailed error message. If a Data Flow with this target fails for no clear reason, check that you selected a schema.
- Schema field visible on legacy Lakehouses: On a legacy Lakehouse, the Schema field does not apply, but a UI bug can leave it visible and showing Error fetching schemas instead of hiding or disabling it. This is a reported issue, not a configuration problem. Leave the field empty and continue.
- Special characters in column names: Column names containing special characters, such as a dollar sign (
$) or a dot (.), can cause the Data Flow to fail without a clear error message. This is a reported issue. Rename affected source columns, or map them to a target column name without special characters, before loading. - Missing key columns: If you select Upsert Merge without defining key columns, Data Integration blocks activation until you provide at least one key column.
- Concurrent load conflicts: Loading the same table from more than one Data Flow at the same time is not supported. Serialize loads to the same table.