How to refresh data in Synapse Lake Database using pipeline DataFlow

TerriblyVexed 51 Reputation points
2022-07-14T17:15:58.21+00:00

I have a pipeline set up in Synapse which runs 2 dataflow activities which is supposed to 1. copy data from Fhir as source to Azure SQL Server as sink and 2. copy data from Azure SQL Server as source to Azure Lake as sink.
First, is this the best practice flow? Is it necessary to have 2 dataflow activities to copy data from Fhir (via a CDM source) to Azure SQL database and then to Azure Lake database? I feel like there are efficiencies to be had.
Second, in my 2nd dataflow activity I use Azure SQL database as the source, add a couple columns via derivedcolumn and sink the data to Azure Lake database. In the settings of the lake sink there is only a single option "Table action". For which I have selected "Recreate table". The first time it runs it is accurate. If the table doesn't exist it is created and populated with data appropriately. If I then make a change in Fhir (example changing address from 930 to 929) and I run it again the first activity works and upserts the data to Azure SQL database. A subsequent select reveals the address does indeed now start with 930. The second activity reports success, however the new data is not there (it still says 929). The relevant tables are fhir.LocalPatient and fhir.LocalPatientAddress from the Azure SQL database side. When the pipeline runs these tables are created on the dbo schema (as dbo.LocalPatient and dbo.LocalPAtientAddress). I would rather they are on the fhir schema. I added the schema to the Lake database, but there is no option for specifying the schema in the data flow. I am using dynamic tables so enabling mapping is not an option. I tried a concatenation of 'fhir.' and $TableName (for which it does not error), and then attempt to query fhir.LocalPatient in the Lake Database. I get invalid object name error. I checked fhir.dbo.LocalPatient as well - same error.
After the run reports success I go in and find that the address is not updated for the Lake Database table dbo.LocalPAtientAddress, but it is updated for the Azure SQL database table fhir.LocalPatientAddress.

What am I missing?

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.
4,395 questions
{count} votes

1 answer

Sort by: Most helpful
  1. TerriblyVexed 51 Reputation points
    2022-07-26T16:01:46.07+00:00

    I have logged a ticket with support.