Schema Drift for upsert action in Data Flow

Anonymous
2023-02-28T23:47:19.5466667+00:00

Adding a drived column in the dataflow that has a delta sink with upsert operation, I'm getting following error. Can you confirm if merge schema is not supported for upsert actions in dataflow.

Job failed due to reason: at Sink 'sinkEntity': cannot resolve target.column1 in UPDATE clause given columns

Azure Synapse Analytics
Azure Synapse Analytics
An Azure analytics service that brings together data integration, enterprise data warehousing, and big data analytics. Previously known as Azure SQL Data Warehouse.
Azure Data Factory
Azure Data Factory
An Azure service for ingesting, preparing, and transforming data at scale.
{count} votes

2 answers

Sort by: Most helpful
  1. ShaikMaheer-MSFT 38,556 Reputation points Microsoft Employee Moderator
    2023-03-03T07:20:57.7866667+00:00

    Hi zahid zaman,

    Thank you for posting query in Microsoft Q&A Platform.

    From the error, it seems dataflow not able to resolve your column. This error may happen when source and sink columns are not mapped properly or columns datatypes mismatch. Kindly check your source and sink column mappings along with data types.

    For some reason, if it's because of column datatype mismatch then make use of derived column transformation to convert the column datatype and map it.

    Some its this error may also happen in case of identity columns, so you can consider setting identity insert on before processing data.

    Hope this helps. If not, please share more details of your sink transformation and preview data along with screenshot to understand settings and error better and help.


    Please consider hitting Accept Answer button. Accepted answers help community as well.


  2. ShaikMaheer-MSFT 38,556 Reputation points Microsoft Employee Moderator
    2023-03-09T05:44:42.08+00:00

    Hi zahid zaman,

    Thank you for sharing more details on the ask.

    Error is expected in this case, Since you have 4 columns coming from Source and Sink has 3 columns and you are trying to upsert.

    To avoid this error, you can consider using Table action as Overwrite. That overwrites the table existing data and schema too.

    I would suggest always make sure you have same set of schema in source and sink to avoid this kind of situations.

    Consider using manual mapping (Not auto mapping) option also, that also help to avoid these kinds of errors.

    Hope this helps.


    Please consider hitting Accept Answer button and Click on Yes for Was answer helpful question. Accepted answers help community as well.


Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.