An Azure service for ingesting, preparing, and transforming data at scale.
This pattern usually points to a difference between data preview/debug behavior and pipeline-triggered execution.
- Verify the sink by running the data flow from a pipeline debug or trigger In mapping data flows, Data Preview does not write to the sink. It only shows a snapshot of transformed data in Spark memory, and sink drivers are not tested there. To validate actual file output, run the data flow through an Execute Data Flow activity in a pipeline.
- Check source and sink connectivity first In each source and sink transformation, open the linked service for each dataset and test the connection.
- Use Data Preview only to confirm source access In debug mode, open Data Preview on the source transformations and confirm the source data is accessible. If the source data changed, use Refresh > Refetch from source.
- Do an end-to-end pipeline debug Put the data flow in a pipeline activity and debug the pipeline end to end. This is the correct way to test whether the sink file is actually written.
- Check whether source file operations are expected in debug mode If the flow depends on source file operations such as move or delete after completion, those operations run only when the data flow is started from a pipeline run using Execute Data Flow. They do not run in Data Flow debug mode.
- If the run shows success but the sink file is not updated, check sink and storage configuration For Azure Data Lake Storage Gen2 sinks, a known cause is insufficient permissions for the runtime identity. If using Managed Identity or Service Principal, ensure the linked service has R/W/E permission, and at minimum grant Storage Blob Data Contributor on the storage account.
- Check for file-handling jobs that interfere with sink output If another process moves or deletes files in the target folder, data flow output can be affected. Data flows can first write partition files into the target folder and then perform merge/rename operations, so intermediate file names might not match custom file-handling rules.
- Review sink settings if using hierarchical namespace storage with certain options Some combinations can fail when using an Azure Blob Storage linked service against a hierarchical namespace enabled storage account. Known problematic settings include Clear the folder, nondefault File name option, and Key partitioning. A recommended fix is to create a new Azure Data Lake Storage Gen2 linked service for that storage account, or disable those settings and test again.
- If the issue is intermittent, add retries Successful-looking runs with missing output can also be related to transient execution issues. Configure retries on the pipeline activity.
- If using parallel execution, avoid sharing the same debug cluster Multiple parallel runs submitted to the same debug cluster can cause resource failures. For actual execution, use Trigger Now or Debug > Use Activity Runtime so the run uses the integration runtime defined in the pipeline activity.
A practical validation path for the QA instance is:
- Test source and sink linked services.
- In the data flow source, use Data Preview and Refetch from source.
- Run the pipeline with Execute Data Flow.
- Check the sink folder after the run.
- If no updated file appears, verify the runtime identity permissions on ADLS Gen2.
- If permissions are correct, review sink settings such as Clear the folder, file naming, and partitioning, and confirm no external job is moving or deleting intermediate files.
References:
- Mapping data flow Debug Mode
- Troubleshoot mapping data flows in Azure Data Factory (ADF)
- Troubleshoot connector and format issues in mapping data flows in Azure Data Factory
- Copy and transform data in Azure Data Lake Storage Gen2 using Azure Data Factory or Azure Synapse Analytics
- Troubleshoot pipeline orchestration and triggers in Azure Data Factory