<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Use Dataflow Gen2 for multiple tables ingest dinamically in Fabric platform</title>
    <link>https://community.fabric.microsoft.com/t5/Fabric-platform/Use-Dataflow-Gen2-for-multiple-tables-ingest-dinamically/m-p/3767528#M5232</link>
    <description>&lt;DIV&gt;Ok so here is how I would do it.&amp;nbsp; I would only use Python (a PySpark notebook) for the entire ETL cycle because, if I understand you correctly, you don't know in advance the total number of tables--one day, there could suddenly be one or more new tables to process in addition to the ones already in the LH, which means you would need new DFs to process these new tables because of how the DF data destination feature works.&amp;nbsp;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Or you could try to do it in one DF but the complexity of the M code required, needing to merge append data from different tables into one working table, that is M query, and persisting another query as a table that would keep track of the offsets of where each data chunk ends (in the working table) for each respective table, and then reading the data out of that one working table using the offsets from the second M query with another PySpark notebook that would finally append this data to its respective table already in the LH, is a headache I wouldn't wish on anyone.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Going back to the main issue, for each table you have, you need a corresponding DF because when you publish to a data destination, it is the tabular output of this DF that you want to persist to the LH, and since it is not possible to put 'Choose data destination' in a loop inside of a DF, you need one DF for each incoming table.&amp;nbsp; That is way easier to do with PySpark IMHO.&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Ok so, all ETL done with one PySpark notebook:&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;0__in pipeline, run PySpark notebook&lt;BR /&gt;1__if first run ever, populate LH with meta data table, else append new table meta data to meta data table&lt;BR /&gt;2__read LH meta data table&lt;BR /&gt;3__for each table name, (because of memory considerations, use a staging LH if too much data instead of loading into memory)&lt;BR /&gt;if not exist in LH --&amp;gt; load table from on-prem source&lt;BR /&gt;if exist in LH --&amp;gt; load incrementally, ie only new data into staging LH&lt;BR /&gt;4__transform data accordingly&lt;BR /&gt;5__persist data to production LH&lt;BR /&gt;6__do additional stuff in pipeline&lt;/DIV&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Or did I miss something?&lt;/P&gt;</description>
    <pubDate>Fri, 15 Mar 2024 20:09:55 GMT</pubDate>
    <dc:creator>Element115</dc:creator>
    <dc:date>2024-03-15T20:09:55Z</dc:date>
    <item>
      <title>Use Dataflow Gen2 for multiple tables ingest dinamically</title>
      <link>https://community.fabric.microsoft.com/t5/Fabric-platform/Use-Dataflow-Gen2-for-multiple-tables-ingest-dinamically/m-p/3748287#M4867</link>
      <description>&lt;P&gt;I have a Data Pipeline to ingest in my Lakehouse several tables located in an on-premise SQL Server, and the tables are going to be daily reloaded incrementally. They have a date field, and every day I'm going to delete X months of data of each table from Lakehouse. I have a Data Warehouse in Fabric with a table A that collects the list of tables that I have and want to reload, with fields &lt;EM&gt;table_name&lt;/EM&gt; and &lt;EM&gt;months_to_reload&lt;/EM&gt;.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Data ingestion has to be done with Dataflow Gen2 because my data is on-premise and it can only be done by DFGen2. My Data Pipeline has a ForEach that iterates over the records in table A. For each record, 2 steps:&lt;BR /&gt;1. Remove Lakehouse data for &lt;EM&gt;table_name&lt;/EM&gt; from &lt;EM&gt;months_to_reload&lt;/EM&gt; months ago.&lt;BR /&gt;2. Read from source (SQL Server on-premise) the data for &lt;EM&gt;table_name&lt;/EM&gt; from &lt;EM&gt;months_to_reload&lt;/EM&gt; months ago and write it to Lakehouse &lt;EM&gt;table_name&lt;/EM&gt;.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;My problem is that I can't pass variables to DataFlow Gen2 to tell it to read table &lt;EM&gt;table_name&lt;/EM&gt; with a &lt;EM&gt;months_to_reload&lt;/EM&gt; months filtering.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;How can I set up a Data Pipeline with dynamic Dataflow Gen2, to which I can pass the name of the table I want to ingest and the date filters? If this cannot be done, I need to create a individual Data Pipeline for each of the tables I want to ingest, and I have 100. There must be a way to dinamically ingest tabla passing &lt;EM&gt;table_name&lt;/EM&gt; as variable to Dataflow Gen2, the flow of data ingestion is always the same, and I can also pass date field names as variables stored in A table.&lt;/P&gt;</description>
      <pubDate>Thu, 07 Mar 2024 09:13:03 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Fabric-platform/Use-Dataflow-Gen2-for-multiple-tables-ingest-dinamically/m-p/3748287#M4867</guid>
      <dc:creator>amaaiia</dc:creator>
      <dc:date>2024-03-07T09:13:03Z</dc:date>
    </item>
    <item>
      <title>Re: Use Dataflow Gen2 for multiple tables ingest dinamically</title>
      <link>https://community.fabric.microsoft.com/t5/Fabric-platform/Use-Dataflow-Gen2-for-multiple-tables-ingest-dinamically/m-p/3750644#M4923</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="javascript:void(0)" data-lia-user-mentions="" data-lia-user-uid="686932" data-lia-user-login="amaaiia" class="lia-mention lia-mention-user"&gt;amaaiia&lt;/a&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Thanks for using Microsoft Fabric Community.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;At this time, we are reaching out to the internal team to get some help on this .&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;We will update you once we hear back from them.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Appreciate your patience.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Thanks.&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Fri, 08 Mar 2024 06:55:19 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Fabric-platform/Use-Dataflow-Gen2-for-multiple-tables-ingest-dinamically/m-p/3750644#M4923</guid>
      <dc:creator>v-cboorla-msft</dc:creator>
      <dc:date>2024-03-08T06:55:19Z</dc:date>
    </item>
    <item>
      <title>Re: Use Dataflow Gen2 for multiple tables ingest dinamically</title>
      <link>https://community.fabric.microsoft.com/t5/Fabric-platform/Use-Dataflow-Gen2-for-multiple-tables-ingest-dinamically/m-p/3758581#M5079</link>
      <description>&lt;P&gt;&lt;a href="javascript:void(0)" data-lia-user-mentions="" data-lia-user-uid="686932" data-lia-user-login="amaaiia" class="lia-mention lia-mention-user"&gt;amaaiia&lt;/a&gt;&amp;nbsp;If I understand you correctly, how about having another table in the LH that contains 1 value only, namely the&amp;nbsp;&lt;EM&gt;months_to_reload&lt;/EM&gt;&lt;SPAN&gt;&amp;nbsp; value?&amp;nbsp; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;So for each delete-update cycle, in the DFg2, you read in this value in its own M query. Your other queries then can access the value. When the main query is done with its processing, you have another query that updates the&amp;nbsp;&lt;EM&gt;months_to_reload&lt;/EM&gt;&amp;nbsp;value and publishes it back to the LH in replace mode.&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Would that do the trick or am I missing something?&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 12 Mar 2024 16:39:16 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Fabric-platform/Use-Dataflow-Gen2-for-multiple-tables-ingest-dinamically/m-p/3758581#M5079</guid>
      <dc:creator>Element115</dc:creator>
      <dc:date>2024-03-12T16:39:16Z</dc:date>
    </item>
    <item>
      <title>Re: Use Dataflow Gen2 for multiple tables ingest dinamically</title>
      <link>https://community.fabric.microsoft.com/t5/Fabric-platform/Use-Dataflow-Gen2-for-multiple-tables-ingest-dinamically/m-p/3759632#M5091</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="javascript:void(0)" data-lia-user-mentions="" data-lia-user-uid="268213" data-lia-user-login="Element115" class="lia-mention lia-mention-user"&gt;Element115&lt;/a&gt;&amp;nbsp;. yes, for &lt;EM&gt;months_to_realod&lt;/EM&gt; it would be ok. In fact, I already have a warehouse table with the list of tables I need to ingest and with a column &lt;EM&gt;months_to_reload (table_name, months_to_reload)&lt;/EM&gt;. The problem I still have is that the tables I need to ingest I want them to be dynamic. For now, I have to define then in the dataflow one by one, I want a Foreach activity to iterate through my warehouse with tables list and ingest all the tables I have in the warehouse table.&lt;/P&gt;</description>
      <pubDate>Wed, 13 Mar 2024 06:19:26 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Fabric-platform/Use-Dataflow-Gen2-for-multiple-tables-ingest-dinamically/m-p/3759632#M5091</guid>
      <dc:creator>amaaiia</dc:creator>
      <dc:date>2024-03-13T06:19:26Z</dc:date>
    </item>
    <item>
      <title>Re: Use Dataflow Gen2 for multiple tables ingest dinamically</title>
      <link>https://community.fabric.microsoft.com/t5/Fabric-platform/Use-Dataflow-Gen2-for-multiple-tables-ingest-dinamically/m-p/3761245#M5121</link>
      <description>&lt;P&gt;&lt;a href="javascript:void(0)" data-lia-user-mentions="" data-lia-user-uid="686932" data-lia-user-login="amaaiia" class="lia-mention lia-mention-user"&gt;amaaiia&lt;/a&gt;&amp;nbsp;How about this approach:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;CREATE OR ALTER VIEW vTABLE_NAMES 
AS 
    SELECT TABLE_NAME 
    FROM INFORMATION_SCHEMA.TABLES
    WHERE TABLE_SCHEMA = 'dbo'
;&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;If you run this SQL script from your SQL analytics endpoint, it will create a view in your LH. Then from you DF, all you have to do is create a query that uses this view as its source.&amp;nbsp; The view return a column of all the tables in the dbo schema of the LH as a table.&amp;nbsp; Now your M code can reference this table and Bob's your uncle.&lt;/P&gt;</description>
      <pubDate>Thu, 14 Mar 2024 17:37:33 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Fabric-platform/Use-Dataflow-Gen2-for-multiple-tables-ingest-dinamically/m-p/3761245#M5121</guid>
      <dc:creator>Element115</dc:creator>
      <dc:date>2024-03-14T17:37:33Z</dc:date>
    </item>
    <item>
      <title>Re: Use Dataflow Gen2 for multiple tables ingest dinamically</title>
      <link>https://community.fabric.microsoft.com/t5/Fabric-platform/Use-Dataflow-Gen2-for-multiple-tables-ingest-dinamically/m-p/3763441#M5162</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="javascript:void(0)" data-lia-user-mentions="" data-lia-user-uid="686932" data-lia-user-login="amaaiia" class="lia-mention lia-mention-user"&gt;amaaiia&lt;/a&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;We haven’t heard from you on the last response and was just checking back to see if you have a resolution yet. In case if you have any resolution please do share that same with the community as it can be helpful to others.&lt;BR /&gt;Otherwise, will respond back with the more details and we will try to help.&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;Thanks.&lt;/P&gt;</description>
      <pubDate>Thu, 14 Mar 2024 11:46:16 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Fabric-platform/Use-Dataflow-Gen2-for-multiple-tables-ingest-dinamically/m-p/3763441#M5162</guid>
      <dc:creator>v-cboorla-msft</dc:creator>
      <dc:date>2024-03-14T11:46:16Z</dc:date>
    </item>
    <item>
      <title>Re: Use Dataflow Gen2 for multiple tables ingest dinamically</title>
      <link>https://community.fabric.microsoft.com/t5/Fabric-platform/Use-Dataflow-Gen2-for-multiple-tables-ingest-dinamically/m-p/3763768#M5172</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="javascript:void(0)" data-lia-user-mentions="" data-lia-user-uid="268213" data-lia-user-login="Element115" class="lia-mention lia-mention-user"&gt;Element115&lt;/a&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;So imagine my view has 10 rows (10 tables to ingest from my SQL Server). Once my query (let's say Q1) gets the 10 rows, how can I tell DF to create a new query from each row of the result of Q1? So each new query (QN) gets data from my SQL Server and saves it in a Lakehouse table in append mode?&lt;/P&gt;</description>
      <pubDate>Thu, 14 Mar 2024 13:29:24 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Fabric-platform/Use-Dataflow-Gen2-for-multiple-tables-ingest-dinamically/m-p/3763768#M5172</guid>
      <dc:creator>amaaiia</dc:creator>
      <dc:date>2024-03-14T13:29:24Z</dc:date>
    </item>
    <item>
      <title>Re: Use Dataflow Gen2 for multiple tables ingest dinamically</title>
      <link>https://community.fabric.microsoft.com/t5/Fabric-platform/Use-Dataflow-Gen2-for-multiple-tables-ingest-dinamically/m-p/3764209#M5189</link>
      <description>&lt;P&gt;&lt;a href="javascript:void(0)" data-lia-user-mentions="" data-lia-user-uid="686932" data-lia-user-login="amaaiia" class="lia-mention lia-mention-user"&gt;amaaiia&lt;/a&gt;&amp;nbsp;Before I answer, let me clarify something...&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;1__do you want to perform an incremental refresh on the tables?&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;2__are these tables always going to be the same?&amp;nbsp; in other words, once you have created your 10 tables, it will &lt;STRIKE&gt;also&lt;/STRIKE&gt;&amp;nbsp;sorry--always be these 10 tables receiving data or, in future, would you have to create 1 or more new tables?&amp;nbsp;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 14 Mar 2024 22:02:15 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Fabric-platform/Use-Dataflow-Gen2-for-multiple-tables-ingest-dinamically/m-p/3764209#M5189</guid>
      <dc:creator>Element115</dc:creator>
      <dc:date>2024-03-14T22:02:15Z</dc:date>
    </item>
    <item>
      <title>Re: Use Dataflow Gen2 for multiple tables ingest dinamically</title>
      <link>https://community.fabric.microsoft.com/t5/Fabric-platform/Use-Dataflow-Gen2-for-multiple-tables-ingest-dinamically/m-p/3765248#M5206</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="javascript:void(0)" data-lia-user-mentions="" data-lia-user-uid="268213" data-lia-user-login="Element115" class="lia-mention lia-mention-user"&gt;Element115&lt;/a&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;1. Yes&lt;/P&gt;&lt;P&gt;2. No, more tables can be added&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Just to sum up, I have a &lt;U&gt;&lt;EM&gt;source_tables&lt;/EM&gt; &lt;/U&gt;table in a warehouse with all the necessary information about my tables, as follows:&lt;/P&gt;&lt;P&gt;&lt;img /&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Then in my Pipeline, firstly I ingest all tables in one DFg2 (have to add them manually one by one, and whenever there is a new table to ingets, I have to update de DFg2 to add it in a new query), an then I iterate over each row from &lt;U&gt;&lt;EM&gt;source_tables&lt;/EM&gt; &lt;/U&gt;to ingest data and then do some other operations (notebooks and other activities) to each table one by one. It's like I have to&amp;nbsp;synchronise both DFg2 and &lt;EM&gt;&lt;U&gt;source_tables&lt;/U&gt; &lt;/EM&gt;table to have the same tables inside. What happens is that DFg2 is not inside my ForEach ctivity because I can't pass the source table name, the destination info (lakehouse, table_name, conneciton parameters...), etc by parameter, so I only have the rest of the activities inside ForEach (not a good practise I think, because DFg2 and &lt;EM&gt;&lt;U&gt;source_tables&lt;/U&gt; &lt;/EM&gt;are working separately)&lt;/P&gt;&lt;P&gt;&lt;img /&gt;&lt;/P&gt;&lt;P&gt;I really would like to automate tables ingest, so if I added a new table on my&amp;nbsp;&lt;U&gt;&lt;EM&gt;source_tables&lt;/EM&gt; &lt;/U&gt;table, the Pipeline would automatically load it, and DFg2 could check the tables list from &lt;U&gt;&lt;EM&gt;source_tables&lt;/EM&gt; &lt;/U&gt;so the queries to ingest data would be created automatically.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 15 Mar 2024 06:34:14 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Fabric-platform/Use-Dataflow-Gen2-for-multiple-tables-ingest-dinamically/m-p/3765248#M5206</guid>
      <dc:creator>amaaiia</dc:creator>
      <dc:date>2024-03-15T06:34:14Z</dc:date>
    </item>
    <item>
      <title>Re: Use Dataflow Gen2 for multiple tables ingest dinamically</title>
      <link>https://community.fabric.microsoft.com/t5/Fabric-platform/Use-Dataflow-Gen2-for-multiple-tables-ingest-dinamically/m-p/3767528#M5232</link>
      <description>&lt;DIV&gt;Ok so here is how I would do it.&amp;nbsp; I would only use Python (a PySpark notebook) for the entire ETL cycle because, if I understand you correctly, you don't know in advance the total number of tables--one day, there could suddenly be one or more new tables to process in addition to the ones already in the LH, which means you would need new DFs to process these new tables because of how the DF data destination feature works.&amp;nbsp;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Or you could try to do it in one DF but the complexity of the M code required, needing to merge append data from different tables into one working table, that is M query, and persisting another query as a table that would keep track of the offsets of where each data chunk ends (in the working table) for each respective table, and then reading the data out of that one working table using the offsets from the second M query with another PySpark notebook that would finally append this data to its respective table already in the LH, is a headache I wouldn't wish on anyone.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Going back to the main issue, for each table you have, you need a corresponding DF because when you publish to a data destination, it is the tabular output of this DF that you want to persist to the LH, and since it is not possible to put 'Choose data destination' in a loop inside of a DF, you need one DF for each incoming table.&amp;nbsp; That is way easier to do with PySpark IMHO.&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Ok so, all ETL done with one PySpark notebook:&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;0__in pipeline, run PySpark notebook&lt;BR /&gt;1__if first run ever, populate LH with meta data table, else append new table meta data to meta data table&lt;BR /&gt;2__read LH meta data table&lt;BR /&gt;3__for each table name, (because of memory considerations, use a staging LH if too much data instead of loading into memory)&lt;BR /&gt;if not exist in LH --&amp;gt; load table from on-prem source&lt;BR /&gt;if exist in LH --&amp;gt; load incrementally, ie only new data into staging LH&lt;BR /&gt;4__transform data accordingly&lt;BR /&gt;5__persist data to production LH&lt;BR /&gt;6__do additional stuff in pipeline&lt;/DIV&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Or did I miss something?&lt;/P&gt;</description>
      <pubDate>Fri, 15 Mar 2024 20:09:55 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Fabric-platform/Use-Dataflow-Gen2-for-multiple-tables-ingest-dinamically/m-p/3767528#M5232</guid>
      <dc:creator>Element115</dc:creator>
      <dc:date>2024-03-15T20:09:55Z</dc:date>
    </item>
    <item>
      <title>Re: Use Dataflow Gen2 for multiple tables ingest dinamically</title>
      <link>https://community.fabric.microsoft.com/t5/Fabric-platform/Use-Dataflow-Gen2-for-multiple-tables-ingest-dinamically/m-p/3770243#M5250</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="javascript:void(0)" data-lia-user-mentions="" data-lia-user-uid="268213" data-lia-user-login="Element115" class="lia-mention lia-mention-user"&gt;Element115&lt;/a&gt;, thanks for the response. Is it possible to ingest data from SQL Server on-prem through gateway? I dind't tell you but I need data to be accessed thorugh gateway, and I think DFg2 is the only way for the moment.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I could&lt;/P&gt;</description>
      <pubDate>Mon, 18 Mar 2024 06:49:51 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Fabric-platform/Use-Dataflow-Gen2-for-multiple-tables-ingest-dinamically/m-p/3770243#M5250</guid>
      <dc:creator>amaaiia</dc:creator>
      <dc:date>2024-03-18T06:49:51Z</dc:date>
    </item>
    <item>
      <title>Re: Use Dataflow Gen2 for multiple tables ingest dinamically</title>
      <link>https://community.fabric.microsoft.com/t5/Fabric-platform/Use-Dataflow-Gen2-for-multiple-tables-ingest-dinamically/m-p/3771964#M5281</link>
      <description>&lt;P&gt;Yes it is possible to ingest data from an on-prem SQL Server with only one DFg2 (but only if the firewalll is configured properly, otherwise you'll 2 DFg2 chained together), which is what we are doing too.&amp;nbsp; And unless this has changed, from the Microsoft doc, DFg2 is the only way currently to do so, until Microsoft will release the new OPGW (on-prem gateway). ETA is supposed to be sometime in Q1. Then it will be possible to do use a Copy activity inside a pipeline instead of a DFg2, if I remember correctly. In any case, we wait expectantly.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;But first you have to figure out how to config your firewall.&amp;nbsp; Also, you need to know how the data actually moves between a DFg2 and the GW. Here is the excellent explanation from&amp;nbsp;&lt;a href="javascript:void(0)" data-lia-user-mentions="" data-lia-user-uid="684193" data-lia-user-login="pqian_MSFT" class="lia-mention lia-mention-user"&gt;pqian_MSFT&lt;/a&gt;&amp;nbsp;:&amp;nbsp;&amp;nbsp;&lt;A href="https://community.fabric.microsoft.com/t5/Dataflows/Dataflow-refresh-started-failing-today-MashupException-Error/m-p/3758891/highlight/true#M2401" target="_blank"&gt;Re: Dataflow refresh started failing today MashupE... - Page 2 - Microsoft Fabric Community&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;And here is my post explaining about the firewall config: &lt;A href="https://community.fabric.microsoft.com/t5/Dataflows/DATAFLOW-and-ON-PREM-DB-connectivity-solution/m-p/3761757/highlight/true#M2469" target="_blank"&gt;DATAFLOW and ON-PREM DB connectivity solution - Microsoft Fabric Community&lt;/A&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;but in a nutshell, the firewall should allow you to specify that, for outgoing traffic for protocol TCP, you want to open port 1433, and only for the following destinations (the wildcard FQDNs below); but if that doesn't work, then destination can be set to: 0.0.0.0, which means the outgoing traffic is not restricted to any specific IP address:&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;Protocol: TCP
Endpoints: *.datawarehouse.pbidedicated.windows.net, *.datawarehouse.fabric.microsoft.com, *.dfs.fabric.microsoft.com
Port: 1433&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 18 Mar 2024 14:38:15 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Fabric-platform/Use-Dataflow-Gen2-for-multiple-tables-ingest-dinamically/m-p/3771964#M5281</guid>
      <dc:creator>Element115</dc:creator>
      <dc:date>2024-03-18T14:38:15Z</dc:date>
    </item>
    <item>
      <title>Re: Use Dataflow Gen2 for multiple tables ingest dinamically</title>
      <link>https://community.fabric.microsoft.com/t5/Fabric-platform/Use-Dataflow-Gen2-for-multiple-tables-ingest-dinamically/m-p/3771979#M5282</link>
      <description>&lt;P&gt;Sorry, maybe I didn't ask the question correctly. Yes, I know that with DFg2 I can do ingests via gateway, in fact, that's how I'm doing it now and I have everything configured to work.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;My question was, since you tell me to do the ingest with notebooks because otherwise I can't parameterise this process, as the number of tables is variable, can I do the i&lt;U&gt;ngest using gateway by notebooks&lt;/U&gt;? I think the answer is no, and in that case I understand that the solution you gave me of doing the whole process from the ingestion with notebooks does not work for me.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Am I wrong?&lt;/P&gt;</description>
      <pubDate>Mon, 18 Mar 2024 14:45:25 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Fabric-platform/Use-Dataflow-Gen2-for-multiple-tables-ingest-dinamically/m-p/3771979#M5282</guid>
      <dc:creator>amaaiia</dc:creator>
      <dc:date>2024-03-18T14:45:25Z</dc:date>
    </item>
    <item>
      <title>Re: Use Dataflow Gen2 for multiple tables ingest dinamically</title>
      <link>https://community.fabric.microsoft.com/t5/Fabric-platform/Use-Dataflow-Gen2-for-multiple-tables-ingest-dinamically/m-p/3772063#M5283</link>
      <description>&lt;P&gt;Oh! I see what you mean. I just asked Bing Copilot and it says it's possible from a PySpark notebook. But, as one commenter says on the LinkedIn page below, this would mean opening your DB port 1433 to incoming traffic, and if it's a production DB, it is doubtful your sysadmin will agree due to the security risk.&amp;nbsp; Here' what Copilot said:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;P&gt;&lt;A href="https://www.linkedin.com/pulse/ingest-data-from-on-premise-sql-server-using-fabric-luk%C3%A1%C5%A1-karlovsk%C3%BD-lcarf" target="_blank" rel="noopener"&gt;Yes, it is possible to connect to an on-premises database from a Fabric PySpark Notebook&lt;/A&gt;&lt;A href="https://www.linkedin.com/pulse/ingest-data-from-on-premise-sql-server-using-fabric-luk%C3%A1%C5%A1-karlovsk%C3%BD-lcarf" target="_blank" rel="noopener"&gt;1&lt;/A&gt;. &lt;A href="https://pyspark.com/2023/11/28/quickstart-spark-connect/" target="_blank" rel="noopener"&gt;You would typically use JDBC to establish the connection and PySpark to read the data&lt;/A&gt;&lt;A href="https://pyspark.com/2023/11/28/quickstart-spark-connect/" target="_blank" rel="noopener"&gt;2&lt;/A&gt;. &lt;A href="https://www.linkedin.com/pulse/ingest-data-from-on-premise-sql-server-using-fabric-luk%C3%A1%C5%A1-karlovsk%C3%BD-lcarf" target="_blank" rel="noopener"&gt;However, you should ensure that the necessary ports are open for remote access&lt;/A&gt;&lt;A href="https://www.linkedin.com/pulse/ingest-data-from-on-premise-sql-server-using-fabric-luk%C3%A1%C5%A1-karlovsk%C3%BD-lcarf" target="_blank" rel="noopener"&gt;1&lt;/A&gt;&lt;A href="https://www.linkedin.com/pulse/ingest-data-from-on-premise-sql-server-using-fabric-luk%C3%A1%C5%A1-karlovsk%C3%BD-lcarf" target="_blank" rel="noopener"&gt; and securely manage your connection details&lt;/A&gt;&lt;A href="https://www.linkedin.com/pulse/ingest-data-from-on-premise-sql-server-using-fabric-luk%C3%A1%C5%A1-karlovsk%C3%BD-lcarf" target="_blank" rel="noopener"&gt;1&lt;/A&gt;. Please note that the exact steps may vary based on your specific environment and database.&lt;/P&gt;&lt;/DIV&gt;&lt;DIV class=""&gt;&amp;nbsp;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;P&gt;Here’s the Python import statement for PySpark and JDBC:&lt;/P&gt;&lt;PRE&gt;&lt;SPAN class=""&gt;from&lt;/SPAN&gt; pyspark.sql &lt;SPAN class=""&gt;import&lt;/SPAN&gt; SparkSession&lt;/PRE&gt;&lt;P&gt;This will import the SparkSession module, which is the entry point to any functionality in Spark. You can then use it to create a SparkSession and connect to your database using JDBC. Please replace 'jdbc:your_database' and 'your_table' with your actual database JDBC URL and table name.&lt;/P&gt;&lt;PRE&gt;spark = SparkSession.builder.getOrCreate()
df = spark.read.&lt;SPAN class=""&gt;format&lt;/SPAN&gt;(&lt;SPAN class=""&gt;'jdbc'&lt;/SPAN&gt;).options(
    url=&lt;SPAN class=""&gt;'jdbc:your_database'&lt;/SPAN&gt;,
    dbtable=&lt;SPAN class=""&gt;'your_table'&lt;/SPAN&gt;,
).load()&lt;/PRE&gt;&lt;P&gt;Remember to also include your driver, user, and password options as needed. Please consult your database documentation for the exact details.&lt;/P&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;P&gt;&lt;A href="https://www.linkedin.com/pulse/ingest-data-from-on-premise-sql-server-using-fabric-luk%C3%A1%C5%A1-karlovsk%C3%BD-lcarf" target="_blank" rel="noopener"&gt;If the on-premises database is behind a firewall, you would need to ensure that the necessary ports are open for remote access&lt;/A&gt;&lt;A href="https://www.linkedin.com/pulse/ingest-data-from-on-premise-sql-server-using-fabric-luk%C3%A1%C5%A1-karlovsk%C3%BD-lcarf" target="_blank" rel="noopener"&gt;1&lt;/A&gt;. &lt;A href="https://www.linkedin.com/pulse/ingest-data-from-on-premise-sql-server-using-fabric-luk%C3%A1%C5%A1-karlovsk%C3%BD-lcarf" target="_blank" rel="noopener"&gt;This is essential for data transfer and communication from external sources&lt;/A&gt;&lt;A href="https://www.linkedin.com/pulse/ingest-data-from-on-premise-sql-server-using-fabric-luk%C3%A1%C5%A1-karlovsk%C3%BD-lcarf" target="_blank" rel="noopener"&gt;1&lt;/A&gt;.&lt;/P&gt;&lt;P&gt;&lt;A href="https://learn.microsoft.com/en-us/azure/databricks/security/network/classic/on-prem-network" target="_blank" rel="noopener"&gt;In some cases, you might need to set up a secure or DMZ subnet within your network, which is separate from existing private and public subnets&lt;/A&gt;&lt;A href="https://learn.microsoft.com/en-us/azure/databricks/security/network/classic/on-prem-network" target="_blank" rel="noopener"&gt;2&lt;/A&gt;. &lt;A href="https://learn.microsoft.com/en-us/azure/databricks/security/network/classic/on-prem-network" target="_blank" rel="noopener"&gt;You would then create an additional route in the custom route table to 0.0.0.0/0 and set the Next hop type to “Virtual Appliance”&lt;/A&gt;&lt;A href="https://learn.microsoft.com/en-us/azure/databricks/security/network/classic/on-prem-network" target="_blank" rel="noopener"&gt;2&lt;/A&gt;.&lt;/P&gt;&lt;P&gt;Remember, the exact steps may vary based on your specific environment and firewall settings. Always ensure you’re following best practices for security and compliance in your organization.&lt;/P&gt;&lt;/DIV&gt;&lt;DIV class=""&gt;&amp;nbsp;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV class=""&gt;&amp;nbsp;&lt;/DIV&gt;&lt;/DIV&gt;</description>
      <pubDate>Mon, 18 Mar 2024 15:28:00 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Fabric-platform/Use-Dataflow-Gen2-for-multiple-tables-ingest-dinamically/m-p/3772063#M5283</guid>
      <dc:creator>Element115</dc:creator>
      <dc:date>2024-03-18T15:28:00Z</dc:date>
    </item>
    <item>
      <title>Re: Use Dataflow Gen2 for multiple tables ingest dinamically</title>
      <link>https://community.fabric.microsoft.com/t5/Fabric-platform/Use-Dataflow-Gen2-for-multiple-tables-ingest-dinamically/m-p/3772080#M5284</link>
      <description>&lt;P&gt;EDIT_0:&amp;nbsp; actually, perhaps this might not work due to the huge amount of data that has to be passed around. I don't know the limits put on the HTTP Request action of Power Automate.&amp;nbsp;&lt;/P&gt;&lt;P&gt;------------------------------------------------------------------------------------------------&lt;/P&gt;&lt;P&gt;But I got another idea!&amp;nbsp; How about creating a Power Automate flow that would ingest the data from the on-prem DB, and then inside the pipeline, you would use a Webhook activity to connect to that Power Automate flow and pass the data to your Notebook and do everything in PySpark?&amp;nbsp; That way there is not need to change your firewall rules, as Power Automate uses the gateway.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;A href="https://powerautomate.microsoft.com/en-us/blog/call-flow-restapi/" target="_blank" rel="noopener"&gt;Calling Microsoft Flow from your application | Power Automate Blog&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="https://blog.crossjoin.co.uk/2016/11/13/calling-microsoft-flow-from-power-query-and-power-bi/" target="_blank" rel="noopener"&gt;Chris Webb's BI Blog: Calling Microsoft Flow From Power Query And Power BI (crossjoin.co.uk)&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I asked Bing Copilot and got this:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;P&gt;&lt;A href="https://community.fabric.microsoft.com/t5/Power-Query/Ingest-data-via-a-webhook/td-p/1672506" target="_blank" rel="noopener"&gt;Yes, it is possible&lt;/A&gt;&lt;A href="https://community.fabric.microsoft.com/t5/Power-Query/Ingest-data-via-a-webhook/td-p/1672506" target="_blank" rel="noopener"&gt;1&lt;/A&gt;&lt;A href="https://learn.microsoft.com/en-us/fabric/data-factory/webhook-activity" target="_blank" rel="noopener"&gt;2&lt;/A&gt;&lt;A href="https://powerusers.microsoft.com/t5/Power-Automate-Community-Blog/Using-HTTP-Response-trigger-and-Webhook-to-connect-Formstack/ba-p/452087" target="_blank" rel="noopener"&gt;3&lt;/A&gt;.&lt;/P&gt;&lt;P&gt;&lt;A href="https://community.fabric.microsoft.com/t5/Power-Query/Ingest-data-via-a-webhook/td-p/1672506" target="_blank" rel="noopener"&gt;You can use a Fabric pipeline webhook activity to call an endpoint and wait for it to complete&lt;/A&gt;&lt;A href="https://learn.microsoft.com/en-us/fabric/data-factory/webhook-activity" target="_blank" rel="noopener"&gt;2&lt;/A&gt;. &lt;A href="https://powerusers.microsoft.com/t5/Power-Automate-Community-Blog/Using-HTTP-Response-trigger-and-Webhook-to-connect-Formstack/ba-p/452087" target="_blank" rel="noopener"&gt;This webhook can be configured to receive data from a Power Automate flow&lt;/A&gt;&lt;A href="https://powerusers.microsoft.com/t5/Power-Automate-Community-Blog/Using-HTTP-Response-trigger-and-Webhook-to-connect-Formstack/ba-p/452087" target="_blank" rel="noopener"&gt;3&lt;/A&gt;.&lt;/P&gt;&lt;P&gt;&lt;A href="https://community.fabric.microsoft.com/t5/Power-Query/Ingest-data-via-a-webhook/td-p/1672506" target="_blank" rel="noopener"&gt;The Power Automate flow can be set up to get data from an on-premises database&lt;/A&gt;&lt;A href="https://community.fabric.microsoft.com/t5/Power-Query/Ingest-data-via-a-webhook/td-p/1672506" target="_blank" rel="noopener"&gt;1&lt;/A&gt;. &lt;A href="https://community.fabric.microsoft.com/t5/Power-Query/Ingest-data-via-a-webhook/td-p/1672506" target="_blank" rel="noopener"&gt;However, you need to ensure that the necessary ports are open for remote access and securely manage your connection details&lt;/A&gt;&lt;A href="https://community.fabric.microsoft.com/t5/Power-Query/Ingest-data-via-a-webhook/td-p/1672506" target="_blank" rel="noopener"&gt;1&lt;/A&gt;.&lt;/P&gt;&lt;P&gt;Remember, the exact steps may vary based on your specific environment and database. Always ensure you’re following best practices for security and compliance in your organization.&lt;/P&gt;&lt;/DIV&gt;&lt;DIV class=""&gt;&amp;nbsp;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV class=""&gt;&amp;nbsp;&lt;/DIV&gt;&lt;/DIV&gt;</description>
      <pubDate>Mon, 18 Mar 2024 15:44:22 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Fabric-platform/Use-Dataflow-Gen2-for-multiple-tables-ingest-dinamically/m-p/3772080#M5284</guid>
      <dc:creator>Element115</dc:creator>
      <dc:date>2024-03-18T15:44:22Z</dc:date>
    </item>
    <item>
      <title>Re: Use Dataflow Gen2 for multiple tables ingest dinamically</title>
      <link>https://community.fabric.microsoft.com/t5/Fabric-platform/Use-Dataflow-Gen2-for-multiple-tables-ingest-dinamically/m-p/3772089#M5285</link>
      <description>&lt;P&gt;So it looks like you'll have to do everything using the M language in a DFg2 after all.&amp;nbsp;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 18 Mar 2024 15:46:07 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Fabric-platform/Use-Dataflow-Gen2-for-multiple-tables-ingest-dinamically/m-p/3772089#M5285</guid>
      <dc:creator>Element115</dc:creator>
      <dc:date>2024-03-18T15:46:07Z</dc:date>
    </item>
    <item>
      <title>Re: Use Dataflow Gen2 for multiple tables ingest dinamically</title>
      <link>https://community.fabric.microsoft.com/t5/Fabric-platform/Use-Dataflow-Gen2-for-multiple-tables-ingest-dinamically/m-p/3774309#M5296</link>
      <description>&lt;P&gt;Yes, but the table ingest is not dynamic. Every time I have new table, I have to add it manuallu to my DFg2 and publish it with the resto of the tables.&lt;/P&gt;</description>
      <pubDate>Tue, 19 Mar 2024 08:55:49 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Fabric-platform/Use-Dataflow-Gen2-for-multiple-tables-ingest-dinamically/m-p/3774309#M5296</guid>
      <dc:creator>amaaiia</dc:creator>
      <dc:date>2024-03-19T08:55:49Z</dc:date>
    </item>
    <item>
      <title>Re: Use Dataflow Gen2 for multiple tables ingest dinamically</title>
      <link>https://community.fabric.microsoft.com/t5/Fabric-platform/Use-Dataflow-Gen2-for-multiple-tables-ingest-dinamically/m-p/3776345#M5351</link>
      <description>&lt;P&gt;Actually, now that I think a little more on this... here is a potential solution.&amp;nbsp; You need to ingest everything into one staging table using M in a DFg2.&amp;nbsp; So the output of DFg2 is going to be one table containing the data of all the tables you need to ingest for this cycle.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Prerequisites:&amp;nbsp; at the source, ie the on-prem DB, create a metadata table to keep track of all the tables that need processing.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Here is the algo:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;0__load the metadata table&lt;/P&gt;&lt;P&gt;1__iterate over each source table (using the each _ keyword) and extract the data needed as per some incremental timestamp&lt;/P&gt;&lt;P&gt;2__the ingested data from each table is a table and as such it is put into a Power Query table where each row consists of one column holding the source table name, and a second column (of type Table) holding the data just injested during the iterative cycle&lt;/P&gt;&lt;P&gt;3__the output of the M script should be a table of tables, like so:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;TABLE_NAME&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;DATA_FROM_SOURCE_TABLE_AS_TABLE&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;TABLE_0&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;{[c0, c1, ..., cn], [d0, d1, ..., dn]}&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;TABLE_1&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;{[c0, c1, ..., cn], [d0, d1, ..., dn]}&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;...&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;...&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;TABLE_n&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;{[c0, c1, ..., cn], [d0, d1, ..., dn]}&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Your DFg2 has one output as a table. Publish that to a staging table in your LH.&amp;nbsp; Use a PySpark notebook that now can get access to this data, and have a Python script extract each source table from that one staging table and write the rows out to their corresponding LH production table.&lt;/P&gt;</description>
      <pubDate>Tue, 19 Mar 2024 22:24:41 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Fabric-platform/Use-Dataflow-Gen2-for-multiple-tables-ingest-dinamically/m-p/3776345#M5351</guid>
      <dc:creator>Element115</dc:creator>
      <dc:date>2024-03-19T22:24:41Z</dc:date>
    </item>
    <item>
      <title>Re: Use Dataflow Gen2 for multiple tables ingest dinamically</title>
      <link>https://community.fabric.microsoft.com/t5/Fabric-platform/Use-Dataflow-Gen2-for-multiple-tables-ingest-dinamically/m-p/3777471#M5368</link>
      <description>&lt;P&gt;I've heard that in 1-2 weeks on-prem SQL Server data ingestion with gateway will be available for Copy activity. I guess this update will be so helpful for me, because source and destination can me parametrised in Copy activity. I think I'm going to wait until this feature comes up.&lt;/P&gt;</description>
      <pubDate>Wed, 20 Mar 2024 07:32:49 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Fabric-platform/Use-Dataflow-Gen2-for-multiple-tables-ingest-dinamically/m-p/3777471#M5368</guid>
      <dc:creator>amaaiia</dc:creator>
      <dc:date>2024-03-20T07:32:49Z</dc:date>
    </item>
    <item>
      <title>Re: Use Dataflow Gen2 for multiple tables ingest dinamically</title>
      <link>https://community.fabric.microsoft.com/t5/Fabric-platform/Use-Dataflow-Gen2-for-multiple-tables-ingest-dinamically/m-p/3780275#M5399</link>
      <description>&lt;P&gt;&lt;a href="javascript:void(0)" data-lia-user-mentions="" data-lia-user-uid="686932" data-lia-user-login="amaaiia" class="lia-mention lia-mention-user"&gt;amaaiia&lt;/a&gt;&amp;nbsp;I just stumbled upon this page:&amp;nbsp;&amp;nbsp;&lt;A href="https://learn.microsoft.com/en-us/fabric/data-engineering/lakehouse-api" target="_blank" rel="noopener"&gt;Lakehouse management API - Microsoft Fabric | Microsoft Learn&lt;/A&gt;&amp;nbsp; and read it quickly, but if I am not mistaken, you can load data to a lakehouse table using the lakehouse REST API.&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;So, couldn't you at the source DB export the data you want in the LH as multiple CSV files; put these files on a secure file server;&amp;nbsp; use either Python locally to upload the CSV files to the LH, or use Power Automate to do the same?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Or if T-SQL allows, do all this from a stored procedure connecting to the LH REST API.&lt;/P&gt;</description>
      <pubDate>Wed, 20 Mar 2024 17:48:20 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Fabric-platform/Use-Dataflow-Gen2-for-multiple-tables-ingest-dinamically/m-p/3780275#M5399</guid>
      <dc:creator>Element115</dc:creator>
      <dc:date>2024-03-20T17:48:20Z</dc:date>
    </item>
  </channel>
</rss>

