<?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: Trigger a full refresh in a lakeflow connect pipeline with a job in Data Engineering</title>
    <link>https://community.databricks.com/t5/data-engineering/trigger-a-full-refresh-in-a-lakeflow-connect-pipeline-with-a-job/m-p/161015#M54978</link>
    <description>&lt;P&gt;Currently, the native Pipeline task in Databricks Jobs doesn't support dynamically mapping a job parameter directly to the execution's &lt;STRONG&gt;Full Refresh&lt;/STRONG&gt; flag (it operates as a static option in the UI).&lt;/P&gt;&lt;P&gt;However, you can easily achieve this behavior by using a lightweight &lt;STRONG&gt;Python Notebook task&lt;/STRONG&gt; as an orchestrator. By leveraging the Databricks SDK, you can read the job parameter at runtime and conditionally trigger the correct update mode via the API.&lt;/P&gt;&lt;P&gt;Here is how you can set it up:&lt;/P&gt;&lt;H3&gt;Step 1: Create an Orchestrator Notebook&lt;/H3&gt;&lt;P&gt;Create a simple notebook that will act as the trigger for your LakeFlow Connect pipeline. Use the following Python code:&lt;/P&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;SPAN class=""&gt;Python&lt;/SPAN&gt;&lt;DIV class=""&gt;&amp;nbsp;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;PRE&gt;&lt;SPAN class=""&gt;from&lt;/SPAN&gt; databricks.sdk &lt;SPAN class=""&gt;import&lt;/SPAN&gt; WorkspaceClient
&lt;SPAN class=""&gt;import&lt;/SPAN&gt; time

w = WorkspaceClient()

&lt;SPAN class=""&gt;# 1. Define the widget to catch the job parameter (defaulting to "false")&lt;/SPAN&gt;
dbutils.widgets.text(&lt;SPAN class=""&gt;"is_full_refresh"&lt;/SPAN&gt;, &lt;SPAN class=""&gt;"false"&lt;/SPAN&gt;)

&lt;SPAN class=""&gt;# 2. Retrieve and evaluate the parameter&lt;/SPAN&gt;
is_full_refresh_param = dbutils.widgets.get(&lt;SPAN class=""&gt;"is_full_refresh"&lt;/SPAN&gt;).strip().lower()
run_full_refresh = is_full_refresh_param == &lt;SPAN class=""&gt;"true"&lt;/SPAN&gt;

&lt;SPAN class=""&gt;# Replace with your actual pipeline ID&lt;/SPAN&gt;
pipeline_id = &lt;SPAN class=""&gt;"&amp;lt;your-lakeflow-pipeline-id&amp;gt;"&lt;/SPAN&gt;

&lt;SPAN class=""&gt;# 3. Start the pipeline update&lt;/SPAN&gt;
print(&lt;SPAN class=""&gt;f"Triggering pipeline &lt;SPAN class=""&gt;{pipeline_id}&lt;/SPAN&gt;. Full refresh: &lt;SPAN class=""&gt;{run_full_refresh}&lt;/SPAN&gt;"&lt;/SPAN&gt;)

update = w.pipelines.start_update(
    pipeline_id=pipeline_id,
    full_refresh=run_full_refresh
)

print(&lt;SPAN class=""&gt;f"Update started successfully. Update ID: &lt;SPAN class=""&gt;{update.update_id}&lt;/SPAN&gt;"&lt;/SPAN&gt;)

&lt;SPAN class=""&gt;# Optional: Add a polling loop if you want the Job task to wait for the pipeline to finish&lt;/SPAN&gt;
&lt;SPAN class=""&gt;# before moving to the next task.&lt;/SPAN&gt;
&lt;SPAN class=""&gt;# ... &lt;/SPAN&gt;
&lt;/PRE&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;H3&gt;Step 2: Configure Your Job&lt;/H3&gt;&lt;OL&gt;&lt;LI&gt;&lt;P&gt;Go to your Databricks Workflow and replace your native Pipeline task with a &lt;STRONG&gt;Notebook task&lt;/STRONG&gt; pointing to the notebook you just created.&lt;/P&gt;&lt;/LI&gt;&lt;LI&gt;&lt;P&gt;In the &lt;STRONG&gt;Parameters&lt;/STRONG&gt; section of your Job or Task, add a key named is_full_refresh.&lt;/P&gt;&lt;/LI&gt;&lt;LI&gt;&lt;P&gt;When you run the job with parameters, you can now pass the value "true" to force a full refresh, or "false" (or leave it as default) to perform your standard incremental ingestion.&lt;/P&gt;&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;&lt;STRONG&gt;Why this works:&lt;/STRONG&gt; LakeFlow Connect pipelines are built on Delta Live Tables (DLT) architecture under the hood. The start_update method in the Databricks SDK natively interacts with the same API that the UI uses, giving you full programmatic control over the full_refresh boolean flag.&lt;/P&gt;</description>
    <pubDate>Wed, 01 Jul 2026 04:24:33 GMT</pubDate>
    <dc:creator>aliyasingh</dc:creator>
    <dc:date>2026-07-01T04:24:33Z</dc:date>
    <item>
      <title>Trigger a full refresh in a lakeflow connect pipeline with a job</title>
      <link>https://community.databricks.com/t5/data-engineering/trigger-a-full-refresh-in-a-lakeflow-connect-pipeline-with-a-job/m-p/161004#M54977</link>
      <description>&lt;P&gt;Hello everyone, I'm implementing a lakeflow connect pipeline that is orchestrated by a lakeflow job. My question is: Is there a way ti configure a job parameter so that when ir receives the vale "true" a full refresh Is performed in the pipeline and in other scenarios it Performs an incremental ingestion?&lt;/P&gt;</description>
      <pubDate>Tue, 30 Jun 2026 22:13:55 GMT</pubDate>
      <guid>https://community.databricks.com/t5/data-engineering/trigger-a-full-refresh-in-a-lakeflow-connect-pipeline-with-a-job/m-p/161004#M54977</guid>
      <dc:creator>Nmtc9to5</dc:creator>
      <dc:date>2026-06-30T22:13:55Z</dc:date>
    </item>
    <item>
      <title>Re: Trigger a full refresh in a lakeflow connect pipeline with a job</title>
      <link>https://community.databricks.com/t5/data-engineering/trigger-a-full-refresh-in-a-lakeflow-connect-pipeline-with-a-job/m-p/161015#M54978</link>
      <description>&lt;P&gt;Currently, the native Pipeline task in Databricks Jobs doesn't support dynamically mapping a job parameter directly to the execution's &lt;STRONG&gt;Full Refresh&lt;/STRONG&gt; flag (it operates as a static option in the UI).&lt;/P&gt;&lt;P&gt;However, you can easily achieve this behavior by using a lightweight &lt;STRONG&gt;Python Notebook task&lt;/STRONG&gt; as an orchestrator. By leveraging the Databricks SDK, you can read the job parameter at runtime and conditionally trigger the correct update mode via the API.&lt;/P&gt;&lt;P&gt;Here is how you can set it up:&lt;/P&gt;&lt;H3&gt;Step 1: Create an Orchestrator Notebook&lt;/H3&gt;&lt;P&gt;Create a simple notebook that will act as the trigger for your LakeFlow Connect pipeline. Use the following Python code:&lt;/P&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;SPAN class=""&gt;Python&lt;/SPAN&gt;&lt;DIV class=""&gt;&amp;nbsp;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;PRE&gt;&lt;SPAN class=""&gt;from&lt;/SPAN&gt; databricks.sdk &lt;SPAN class=""&gt;import&lt;/SPAN&gt; WorkspaceClient
&lt;SPAN class=""&gt;import&lt;/SPAN&gt; time

w = WorkspaceClient()

&lt;SPAN class=""&gt;# 1. Define the widget to catch the job parameter (defaulting to "false")&lt;/SPAN&gt;
dbutils.widgets.text(&lt;SPAN class=""&gt;"is_full_refresh"&lt;/SPAN&gt;, &lt;SPAN class=""&gt;"false"&lt;/SPAN&gt;)

&lt;SPAN class=""&gt;# 2. Retrieve and evaluate the parameter&lt;/SPAN&gt;
is_full_refresh_param = dbutils.widgets.get(&lt;SPAN class=""&gt;"is_full_refresh"&lt;/SPAN&gt;).strip().lower()
run_full_refresh = is_full_refresh_param == &lt;SPAN class=""&gt;"true"&lt;/SPAN&gt;

&lt;SPAN class=""&gt;# Replace with your actual pipeline ID&lt;/SPAN&gt;
pipeline_id = &lt;SPAN class=""&gt;"&amp;lt;your-lakeflow-pipeline-id&amp;gt;"&lt;/SPAN&gt;

&lt;SPAN class=""&gt;# 3. Start the pipeline update&lt;/SPAN&gt;
print(&lt;SPAN class=""&gt;f"Triggering pipeline &lt;SPAN class=""&gt;{pipeline_id}&lt;/SPAN&gt;. Full refresh: &lt;SPAN class=""&gt;{run_full_refresh}&lt;/SPAN&gt;"&lt;/SPAN&gt;)

update = w.pipelines.start_update(
    pipeline_id=pipeline_id,
    full_refresh=run_full_refresh
)

print(&lt;SPAN class=""&gt;f"Update started successfully. Update ID: &lt;SPAN class=""&gt;{update.update_id}&lt;/SPAN&gt;"&lt;/SPAN&gt;)

&lt;SPAN class=""&gt;# Optional: Add a polling loop if you want the Job task to wait for the pipeline to finish&lt;/SPAN&gt;
&lt;SPAN class=""&gt;# before moving to the next task.&lt;/SPAN&gt;
&lt;SPAN class=""&gt;# ... &lt;/SPAN&gt;
&lt;/PRE&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;H3&gt;Step 2: Configure Your Job&lt;/H3&gt;&lt;OL&gt;&lt;LI&gt;&lt;P&gt;Go to your Databricks Workflow and replace your native Pipeline task with a &lt;STRONG&gt;Notebook task&lt;/STRONG&gt; pointing to the notebook you just created.&lt;/P&gt;&lt;/LI&gt;&lt;LI&gt;&lt;P&gt;In the &lt;STRONG&gt;Parameters&lt;/STRONG&gt; section of your Job or Task, add a key named is_full_refresh.&lt;/P&gt;&lt;/LI&gt;&lt;LI&gt;&lt;P&gt;When you run the job with parameters, you can now pass the value "true" to force a full refresh, or "false" (or leave it as default) to perform your standard incremental ingestion.&lt;/P&gt;&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;&lt;STRONG&gt;Why this works:&lt;/STRONG&gt; LakeFlow Connect pipelines are built on Delta Live Tables (DLT) architecture under the hood. The start_update method in the Databricks SDK natively interacts with the same API that the UI uses, giving you full programmatic control over the full_refresh boolean flag.&lt;/P&gt;</description>
      <pubDate>Wed, 01 Jul 2026 04:24:33 GMT</pubDate>
      <guid>https://community.databricks.com/t5/data-engineering/trigger-a-full-refresh-in-a-lakeflow-connect-pipeline-with-a-job/m-p/161015#M54978</guid>
      <dc:creator>aliyasingh</dc:creator>
      <dc:date>2026-07-01T04:24:33Z</dc:date>
    </item>
    <item>
      <title>Re: Trigger a full refresh in a lakeflow connect pipeline with a job</title>
      <link>https://community.databricks.com/t5/data-engineering/trigger-a-full-refresh-in-a-lakeflow-connect-pipeline-with-a-job/m-p/161028#M54979</link>
      <description>&lt;P&gt;You can solve it using the conditional tasks in the jobs. You can use&amp;nbsp;&lt;STRONG&gt;If/Else conditional tasks&amp;nbsp;&lt;/STRONG&gt;in the &lt;STRONG&gt;&lt;SPAN&gt;main job &lt;/SPAN&gt;&lt;/STRONG&gt;configuration to run full/incremental based on the parameter&lt;STRONG&gt;&lt;SPAN&gt;. &lt;/SPAN&gt;&lt;/STRONG&gt;It allows you to route to different pipeline tasks based on the parameter value - all within job configuration with no code needed.&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;You can follow below&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp;&lt;span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="1_gXVbGJUQlqIZF7t9eDo4Yw" style="width: 400px;"&gt;&lt;img src="https://community.databricks.com/t5/image/serverpage/image-id/28435i0FE5596772B5A1F9/image-size/medium?v=v2&amp;amp;px=400" role="button" title="1_gXVbGJUQlqIZF7t9eDo4Yw" alt="1_gXVbGJUQlqIZF7t9eDo4Yw" /&gt;&lt;/span&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;SPAN&gt;Create &lt;/SPAN&gt;&lt;STRONG&gt;main lake flow job with &lt;STRONG&gt;3 tasks as below&lt;/STRONG&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;OL&gt;&lt;LI&gt;Create an &lt;STRONG&gt;If/Else Conditional task&lt;/STRONG&gt;-&amp;nbsp;check_refresh_mode&amp;nbsp;&lt;STRONG&gt;&lt;SPAN&gt;&lt;SPAN&gt;- &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/STRONG&gt;Conditional task that evaluates&amp;nbsp;&lt;STRONG&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN class=""&gt;{{job.parameters.full_refresh}} == "true"&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/LI&gt;&lt;LI&gt;&lt;SPAN class=""&gt;&lt;SPAN class=""&gt;Create a &lt;STRONG&gt;pipeline&amp;nbsp;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;STRONG&gt;&lt;STRONG&gt;&lt;STRONG&gt;&lt;SPAN&gt;&lt;SPAN class=""&gt;&lt;SPAN class=""&gt;&lt;SPAN&gt;task&amp;nbsp;run_full_refresh&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/STRONG&gt;&lt;/STRONG&gt;&lt;SPAN class=""&gt;&lt;SPAN class=""&gt;to run the &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;STRONG&gt;&lt;STRONG&gt;&lt;STRONG&gt;&lt;SPAN&gt;&lt;SPAN class=""&gt;&lt;SPAN class=""&gt;&lt;SPAN&gt;lakeflow connect pipeline (Select the&amp;nbsp;Trigger a full refresh on the pipeline)&amp;nbsp;- &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/STRONG&gt;&lt;/STRONG&gt;&lt;SPAN class=""&gt;&lt;SPAN class=""&gt;&lt;SPAN class=""&gt;Pipeline task runs when condition full_refresh is&amp;nbsp;true with&amp;nbsp;&lt;STRONG&gt;complete data reingest&lt;span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="1_Bj3O-cOyJ-6Ee_ZqhyB7AA" style="width: 400px;"&gt;&lt;img src="https://community.databricks.com/t5/image/serverpage/image-id/28436iE39141E520E42C37/image-size/medium?v=v2&amp;amp;px=400" role="button" title="1_Bj3O-cOyJ-6Ee_ZqhyB7AA" alt="1_Bj3O-cOyJ-6Ee_ZqhyB7AA" /&gt;&lt;/span&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;P&gt;&amp;nbsp;3.&amp;nbsp;&lt;SPAN class=""&gt;Create a &lt;STRONG&gt;pipeline&amp;nbsp;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN class=""&gt;task&amp;nbsp;run_incremental&amp;nbsp;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN class=""&gt;to run the &lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN class=""&gt;lakeflow connect pipeline (Dont &lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN class=""&gt;select the&amp;nbsp;Trigger a full refresh on the pipeline&lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN class=""&gt;)&amp;nbsp;- &lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN class=""&gt;Pipeline task runs when condition full_refresh is&amp;nbsp;false with&amp;nbsp;&lt;STRONG&gt;incremental data ingest&lt;span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="1_KBfdpt66QVGeNbxN6COJjQ" style="width: 400px;"&gt;&lt;img src="https://community.databricks.com/t5/image/serverpage/image-id/28437i33D730DE1F204920/image-size/medium?v=v2&amp;amp;px=400" role="button" title="1_KBfdpt66QVGeNbxN6COJjQ" alt="1_KBfdpt66QVGeNbxN6COJjQ" /&gt;&lt;/span&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;You can set a schedule for the main lakeflow job to run incremental ingest with default full_refresh as false. Run the lakeflow job manually with full_refresh as true for full reingest&lt;/P&gt;&lt;/LI&gt;&lt;/OL&gt;</description>
      <pubDate>Wed, 01 Jul 2026 06:40:35 GMT</pubDate>
      <guid>https://community.databricks.com/t5/data-engineering/trigger-a-full-refresh-in-a-lakeflow-connect-pipeline-with-a-job/m-p/161028#M54979</guid>
      <dc:creator>balajij8</dc:creator>
      <dc:date>2026-07-01T06:40:35Z</dc:date>
    </item>
  </channel>
</rss>

