Forum Discussion

jurgenp's avatar
jurgenp
Regular Visitor
3 years ago
Solved

What are the 'DataflowsStagingLakehouse' SQL endpoint and Dataset?

Hi,   Evertime I create the first Dataflow Gen2 inside a Workspace, I also see a SQL endpoint and Dataset named 'DataflowsStagingLakehouse' being created. If I delete them, my Dataflows start to fa...
  • Anonymous's avatar
    Anonymous
    3 years ago

    Hello jurgenp , 

     

    July 11th update: We recently posted a new blog detailing Dataflow Gen2 architecture.  which covers how these artifacts are used by Dataflows Gen2

     

    Dataflows Gen2, like Dataflows Gen1, leverage staging storage to store the data produced by refreshing queries that are load enabled (the default option). This storage location for Dataflows Gen2 is the "DataflowStagingLakehouse" artifact you mentioned. 

     

    Dataflows Gen2, like Dataflows Gen1, also leverage an enhanced compute engine to improve performance of data reads and transformations. This is the DataflowStagingWarehouse. It is leveraged in a few scenarios:

    1. When you get data from a dataflow via the Dataflow connector in another Dataflow, BI Desktop, Excel and other Power Query experiences where the dataflow connector is present. 
    2. When you reference a "load enabled" query in the dataflow. The dataflow engine will first stage the data from the first query, and then leverage the compute capabilities of the DataflowStagingWarehouse to transform the date as scale.

     

    These artifacts should not be removed. They are essential to dataflow gen2’s operation. 

     

    A few comments:

    1. For any workspace with Dataflows Gen2, only a single DataflowStagingLakehouse and Warehouse artifact will be created. i.e., if you create 10 dataflows, there will still only be one of each.
    2. At the moment, as a side effect, the DataflowStagingLakehouse and Warehouse artifacts creation provisions a few more artifacts (One SQL Endpoint, and two Datasets). This will eventually be addressed.
    3. You can configure a query to not load. An example where you may use this feature is when you have a small dataset you want to load to an output destination. In that case, you may want to ETL in memory - i.e., the dataflow will extract data from the source, transform it in memory, and load it directly to the data destination. At the moment, at least one query in the dataflow has to be load enabled, but we are planning to remove that restriction. 

     

    I want to again re-iterate the importance of not deleting these items. They are required for dataflows to operate and should be viewed as system artifacts. We are planning to make changes in the future to both improve the customer experience and prevent their deletion. 

     

    I am planning to add documentation with more details about how dataflows Gen2 work, their use of Staging Storage and Compute, and best practices to get the most out of Dataflows Gen2 architecture. 

     

    Thank you,

    Ben