<?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 Identify a job name in case notebook is triggered from another notebook/ in Data Engineering</title>
    <link>https://community.databricks.com/t5/data-engineering/identify-a-job-name-in-case-notebook-is-triggered-from-another/m-p/102317#M41067</link>
    <description>&lt;P&gt;I am running an another notebook from one of the notebook as below. The main notebook is scheuled with a job/workflow.&lt;/P&gt;&lt;DIV&gt;&lt;DIV&gt;&lt;STRONG&gt;dbutils.notebook.run("./ABC/XYZ/another_notebook", 1000)&lt;/STRONG&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Usually to get the workflow/job name i use any of the below 2 options.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;1.&amp;nbsp;&amp;nbsp;&lt;SPAN&gt;desc&lt;/SPAN&gt; &lt;SPAN&gt;history&lt;/SPAN&gt; &lt;SPAN&gt;dbw_lakehouse&lt;/SPAN&gt;&lt;SPAN&gt;.uat&lt;/SPAN&gt;&lt;SPAN&gt;.table_name&amp;nbsp; (if&amp;nbsp; notebook loads to table)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;STRONG&gt;&lt;SPAN&gt;or &lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;2. Through API call&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&lt;A href="https://adb-1525867339590602.2.azuredatabricks.net/api/2.0/jobs/runs/get?run_id=103532871384632" target="_blank" rel="noopener"&gt;https://adb-URL.2.azuredatabricks.net/api/2.0/jobs/runs/get?run_id=103532871384632&lt;/A&gt;&lt;BR /&gt;&lt;A href="https://adb-1525867339590602.2.azuredatabricks.net/api/2.0/jobs/get?job_id=1051355057291376" target="_blank" rel="noopener"&gt;https://adb-&lt;/A&gt;&lt;A href="https://adb-1525867339590602.2.azuredatabricks.net/api/2.0/jobs/runs/get?run_id=103532871384632" target="_blank" rel="noopener"&gt;URL&lt;/A&gt;&lt;A href="https://adb-1525867339590602.2.azuredatabricks.net/api/2.0/jobs/get?job_id=1051355057291376" target="_blank" rel="noopener"&gt;.2.azuredatabricks.net/api/2.0/jobs/get?job_id=1051355057291376&lt;/A&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;But in my scenario where i am calling notebook from extreanl notebook, i am not seeing the job name in any of the option output.&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;STRONG&gt;&lt;SPAN&gt;Auy suggesiton?&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/DIV&gt;&lt;/DIV&gt;</description>
    <pubDate>Tue, 17 Dec 2024 01:49:59 GMT</pubDate>
    <dc:creator>Suman-Sourav</dc:creator>
    <dc:date>2024-12-17T01:49:59Z</dc:date>
    <item>
      <title>Identify a job name in case notebook is triggered from another notebook/</title>
      <link>https://community.databricks.com/t5/data-engineering/identify-a-job-name-in-case-notebook-is-triggered-from-another/m-p/102317#M41067</link>
      <description>&lt;P&gt;I am running an another notebook from one of the notebook as below. The main notebook is scheuled with a job/workflow.&lt;/P&gt;&lt;DIV&gt;&lt;DIV&gt;&lt;STRONG&gt;dbutils.notebook.run("./ABC/XYZ/another_notebook", 1000)&lt;/STRONG&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Usually to get the workflow/job name i use any of the below 2 options.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;1.&amp;nbsp;&amp;nbsp;&lt;SPAN&gt;desc&lt;/SPAN&gt; &lt;SPAN&gt;history&lt;/SPAN&gt; &lt;SPAN&gt;dbw_lakehouse&lt;/SPAN&gt;&lt;SPAN&gt;.uat&lt;/SPAN&gt;&lt;SPAN&gt;.table_name&amp;nbsp; (if&amp;nbsp; notebook loads to table)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;STRONG&gt;&lt;SPAN&gt;or &lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;2. Through API call&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&lt;A href="https://adb-1525867339590602.2.azuredatabricks.net/api/2.0/jobs/runs/get?run_id=103532871384632" target="_blank" rel="noopener"&gt;https://adb-URL.2.azuredatabricks.net/api/2.0/jobs/runs/get?run_id=103532871384632&lt;/A&gt;&lt;BR /&gt;&lt;A href="https://adb-1525867339590602.2.azuredatabricks.net/api/2.0/jobs/get?job_id=1051355057291376" target="_blank" rel="noopener"&gt;https://adb-&lt;/A&gt;&lt;A href="https://adb-1525867339590602.2.azuredatabricks.net/api/2.0/jobs/runs/get?run_id=103532871384632" target="_blank" rel="noopener"&gt;URL&lt;/A&gt;&lt;A href="https://adb-1525867339590602.2.azuredatabricks.net/api/2.0/jobs/get?job_id=1051355057291376" target="_blank" rel="noopener"&gt;.2.azuredatabricks.net/api/2.0/jobs/get?job_id=1051355057291376&lt;/A&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;But in my scenario where i am calling notebook from extreanl notebook, i am not seeing the job name in any of the option output.&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;STRONG&gt;&lt;SPAN&gt;Auy suggesiton?&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/DIV&gt;&lt;/DIV&gt;</description>
      <pubDate>Tue, 17 Dec 2024 01:49:59 GMT</pubDate>
      <guid>https://community.databricks.com/t5/data-engineering/identify-a-job-name-in-case-notebook-is-triggered-from-another/m-p/102317#M41067</guid>
      <dc:creator>Suman-Sourav</dc:creator>
      <dc:date>2024-12-17T01:49:59Z</dc:date>
    </item>
    <item>
      <title>Re: Identify a job name in case notebook is triggered from another notebook/</title>
      <link>https://community.databricks.com/t5/data-engineering/identify-a-job-name-in-case-notebook-is-triggered-from-another/m-p/102318#M41068</link>
      <description>&lt;P class="p1"&gt;When you run a notebook from another notebook using dbutils.notebook.run, the job name of the parent notebook (the one that is scheduled with a job/workflow) is not directly accessible in the child notebook (the one being called). This is why you are not seeing the job name in the output of your usual methods&lt;/P&gt;
&lt;P class="p2"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class="p1"&gt;To work around this, you can pass the job name as a parameter to the child notebook. Here’s how you can do it:&lt;/P&gt;
&lt;OL class="ol1"&gt;
&lt;LI class="li1"&gt;&lt;STRONG&gt;Retrieve the job name in the parent notebook&lt;/STRONG&gt;: You can use the Databricks REST API to get the job name. For example&lt;/LI&gt;
&lt;/OL&gt;
&lt;P class="p2"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class="p1"&gt;import requests&lt;/P&gt;
&lt;P class="p1"&gt;import json&lt;/P&gt;
&lt;P class="p2"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class="p1"&gt;run_id = dbutils.notebook.entry_point.getDbutils().notebook().getContext().currentRunId().get()&lt;/P&gt;
&lt;P class="p1"&gt;response = requests.get(f"https://&amp;lt;databricks-instance&amp;gt;/api/2.0/jobs/runs/get?run_id={run_id}",&lt;/P&gt;
&lt;P class="p1"&gt;&lt;SPAN class="Apple-converted-space"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;headers={"Authorization": f"Bearer {dbutils.notebook.entry_point.getDbutils().notebook().getContext().apiToken().get()}"})&lt;/P&gt;
&lt;P class="p1"&gt;job_name = response.json().get("job_name")&lt;/P&gt;
&lt;P class="p2"&gt;&amp;nbsp;&lt;/P&gt;
&lt;OL class="ol1"&gt;
&lt;LI class="li1"&gt;&lt;STRONG&gt;Pass the job name to the child notebook&lt;/STRONG&gt;: When calling the child notebook, pass the job name as an argument:&lt;/LI&gt;
&lt;/OL&gt;
&lt;P class="p2"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class="p1"&gt;dbutils.notebook.run("./ABC/XYZ/another_notebook", 1000, {"job_name": job_name})&lt;/P&gt;
&lt;P class="p2"&gt;&amp;nbsp;&lt;/P&gt;
&lt;OL class="ol1"&gt;
&lt;LI class="li1"&gt;&lt;STRONG&gt;Access the job name in the child notebook&lt;/STRONG&gt;: In the child notebook, retrieve the job name from the arguments:&lt;/LI&gt;
&lt;/OL&gt;
&lt;P class="p2"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class="p1"&gt;job_name = dbutils.widgets.get("job_name")&lt;/P&gt;
&lt;P class="p1"&gt;print(f"Job Name: {job_name}")&lt;/P&gt;</description>
      <pubDate>Tue, 17 Dec 2024 02:16:01 GMT</pubDate>
      <guid>https://community.databricks.com/t5/data-engineering/identify-a-job-name-in-case-notebook-is-triggered-from-another/m-p/102318#M41068</guid>
      <dc:creator>Alberto_Umana</dc:creator>
      <dc:date>2024-12-17T02:16:01Z</dc:date>
    </item>
    <item>
      <title>Re: Identify a job name in case notebook is triggered from another notebook/</title>
      <link>https://community.databricks.com/t5/data-engineering/identify-a-job-name-in-case-notebook-is-triggered-from-another/m-p/102319#M41069</link>
      <description>&lt;P&gt;Thanks Alberto. I am aware of that solution but trying to get an option to get job name in the scenario i gave.&amp;nbsp;&lt;/P&gt;&lt;P&gt;So i assume there is no way to get the job name in that scenario.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 17 Dec 2024 03:13:59 GMT</pubDate>
      <guid>https://community.databricks.com/t5/data-engineering/identify-a-job-name-in-case-notebook-is-triggered-from-another/m-p/102319#M41069</guid>
      <dc:creator>Suman-Sourav</dc:creator>
      <dc:date>2024-12-17T03:13:59Z</dc:date>
    </item>
  </channel>
</rss>

