取消
顯示的結果
而不是尋找
你的意思是:

如何在磚%運行一個筆記本列表嗎

Philblakeman
新的貢獻者三世

我想從另一個磚筆記本運行筆記本的列表。

my_notebooks = ["。/設置”、“。/ do_the_main_thing”、“。筆記本在my_notebooks / check_results”): %筆記本運行

當然這並不工作。我不想使用dbutils.notebook.run(),這創造了新的就業機會,不返回任何東西——我希望一切可執行,可查詢從主筆記本。

我想也許有可能進口的實際模塊和運行功能。

? %顯示命令指向運行IPython /核心/魔法/執行。py和運行方法的類ExecutionMagics模塊執行。

也許,我可以使用execution.ExecutionMagic.run()如果我創建的類的實例。

但它是超出我——棘手,我懷疑這是一個有效的解決方案。

如何做到這點呢?

我真的堅持:-

%運行。/一個筆記本%。/ another_notebook %運行。/ yet_another_hardcoded_notebook_name

永遠感謝任何幫助!

4回複4

UmaMahesh1
尊敬的貢獻者三世

嗨@Philip布萊克曼說

您可以使用scala或python構造使用線程和期貨。

你可以從這個鏈接下載筆記本存檔。

https://docs.m.eheci.com/notebooks/notebook-workflows.html run-multiple-notebooks-concurrently

之後,根據你的喜好,設置並行運行筆記本使用的數量numNotebooksInParallel變量。如果你隻是想要1筆記本,你能做的也隻是通過刪除不必要的部分。

小心不要撞你的驅動提供了太多的平行的筆記本。

希望這可以幫助. .歡呼。

UmaMahesh1
尊敬的貢獻者三世

你好@Philip布萊克曼說

檢查如果你的問題得到解決或如果你麵臨任何問題與上麵的方法. .

歡呼聲……

Philblakeman
新的貢獻者三世

謝謝你的回答,但這不是我。它是能夠提供一個列表作為一個變量。

我將運行係列的筆記本。

基本上你能運行{mynotebook} % ?

我認為答案是否定的。

https://stackoverflow.com/questions/74518979/how-to-run-a-list-of-notebooks-in-databricks

ajaypanday6781
尊敬的貢獻者二世

請參考下麵代碼

進口scala.concurrent。{未來,等待}scala.concurrent.duration進口。_進口scala.util.control。非致命的案例類NotebookData(路徑:字符串,超時:Int參數:地圖(字符串,字符串)=地圖。空(字符串,字符串))def parallelNotebooks(筆記本:Seq [NotebookData]):未來(Seq [String]] = {scala.concurrent進口。{未來,阻塞,等待}導入java . util . concurrent。進口scala.concurrent執行人。ExecutionContext com.databricks進口。WorkflowException val numNotebooksInParallel = 4 / /如果您創建太多的筆記本並行驅動程序可能會崩潰當你提交的所有作業。/ /這段代碼限製並行筆記本的數量。隱式val ec = ExecutionContext.fromExecutor (Executors.newFixedThreadPool (numNotebooksInParallel)) val ctx = dbutils.notebook.getContext()的未來。序列(筆記本。地圖{未來筆記本= > {dbutils.notebook.setContext (ctx)如果(notebook.parameters.nonEmpty) dbutils.notebook.run (notebook.path,筆記本。超時,notebook.parameters)其他dbutils.notebook.run (notebook.path notebook.timeout)} .recover{情況下非致命的(e) = > s”錯誤:$ {e。getMessage}}})} def parallelNotebook(筆記本:NotebookData):未來[String] = {scala.concurrent進口。{未來,阻塞,等待}導入java . util . concurrent。進口scala.concurrent執行人。ExecutionContext.Implicits.global import com.databricks.WorkflowException val ctx = dbutils.notebook.getContext() // The simplest interface we can have but doesn't // have protection for submitting to many notebooks in parallel at once Future { dbutils.notebook.setContext(ctx) if (notebook.parameters.nonEmpty) dbutils.notebook.run(notebook.path, notebook.timeout, notebook.parameters) else dbutils.notebook.run(notebook.path, notebook.timeout) } .recover { case NonFatal(e) => s"ERROR: ${e.getMessage}" } }

歡迎來到磚社區:讓學習、網絡和一起慶祝

加入我們的快速增長的數據專業人員和專家的80 k +社區成員,準備發現,幫助和合作而做出有意義的聯係。

點擊在這裏注冊今天,加入!

參與令人興奮的技術討論,加入一個組與你的同事和滿足我們的成員。

Baidu
map