azure-data-factory

Transformations in Azure Data Factory not seeing input schema from valid upstream transformation in data flow in expression builder


I have encountered this issue in ADF a few times and am unable to find a cause or solution. Occasionally a downstream ADF transformation is unable to "see" the input schema from an upstream transformation in the downstream transformation's expression builder, despite the fact that the upstream transformation passes the ADF validation check and shows correct output data.

It appears that this may be a bug in the UI, because sometimes I have been able to deduce the syntax/format of the field/column I want to refer to. When I enter this guess into the expression builder, it shows as an error, but when I save and close the expression builder, the transformation does not show the expression as invalid.

The following screenshot shows my dataflow with a conditional split transformation that splits order records into valid and invalid streams. The valid order record stream is then split into multiple branches for different data requirements. I have circled one downstream transformation (a join) as an example but many of the downstream transformations from the branch show this issue...

My ADF data flow

If I click on the example join transformation and examine the Join settings tab, the UI displays no issues and shows no warnings or errors. I am also able to use the dropdowns for the left and right streams to select columns on which to join...

Join dropdowns show input columns

However, if I click on the expression builder link for either input stream in the Join Condition section, the field I've selected from the dropdown is shown by the UI as problematic with the error message "Column not found". Also, clicking on the Input schema category under Expression elements gives no results. It appears that the expression builder is unable to detect the input schema from the upstream transformation.

No input schema detected

I'm asking this question because although I can't duplicate an example at the moment, I've had times when I also do not get the columns being displayed in the dropdowns for the input streams in the Join conditions section of the Join settings tab, in which case I have to deduce or guess at the format I need for the columns I want. This appears to be a bug in the UI where occasionally the expression builder or the transformation itself is not able to detect/see the input stream even though the fields from the upstream transformation are actually there. If I can deduce the correct syntax for the required columns, I can save the data flow, run it using a pipeline and the data is processed correctly, but obviously this issue causes a lot of headaches and frustration. Has anyone else encountered this, and come up with a cause or solution?


Solution

  • I tried the same in my environment and it is working fine as expected and getting all the columns from its previous transformation:

    enter image description here enter image description here

    This issue is with the GUI sometimes happens for the potential causes as below with resolutions: