簡體   English   中英

如何從 Databricks 中的不同筆記本獲取查詢

[英]How to get a query from a different notebook in Databricks

我在這里的第一篇文章:) 所以我遇到了一個問題:/ Working with Databricks (db) 我知道如何使用 %run 在 db 中執行不同的筆記本但是我有兩個問題:

  1. 筆記本 1 有一個查詢,筆記本 2 有一個需要該查詢的 function,我如何在那邊輸入該查詢? 我只嘗試了 %run 並且它運行了我嘗試將其定義為變量的查詢,試圖將其作為參數傳遞給 function 但沒有任何效果:((但將查詢放入 function 它確實有效!!)

  2. 是否有可能在不同的單元格中有一個充滿查詢的筆記本,並調用特定的單元格? 我試圖查找它,但我無法在任何地方找到它:/

太感謝了:! 有一個美好的一年:)

我只嘗試了 %run 並且它運行了我嘗試將其定義為變量的查詢,試圖將其作為參數傳遞給 function 但沒有任何效果:((但將查詢放入 function 它確實有效!!)

Q1) 我會使用命令按照此處的文檔進行操作,其中 notebook-name 是您要調用的筆記本

results = dbutils.notebook.run("notebook-name", 60, {"argument": "data", "argument2": "data2", ...})

https://docs.databricks.com/notebooks/notebook-workflows.html

Q2)我認為這是不可能的,我建議將代碼拆分到另一個筆記本中,只包含您想要調用的代碼

  1. 筆記本 1 有一個查詢,筆記本 2 有一個需要該查詢的 function,我如何在那邊輸入該查詢? 我只嘗試了 %run 並且它運行了我嘗試將其定義為變量的查詢,試圖將其作為參數傳遞給 function 但沒有任何效果:((但將查詢放入 function 它確實有效!!)

使用dbuitls.notebook.run()從另一個筆記本調用筆記本是它的解決方案。

將您的查詢作為參數傳遞給另一個筆記本,如下所示。 然后使用myquery=dbutils.widgets.get("query")獲取該參數值,您可以在 Called notebook function 中使用它,就像下面的示例演示一樣。

Nb1 - 呼叫筆記本:

在此處輸入圖像描述

Nb2 - 執行Nb2的調用筆記本

在此處輸入圖像描述

這里使用eval()在 function 中執行您的查詢。

  1. 是否有可能在不同的單元格中有一個充滿查詢的筆記本,並調用特定的單元格? 我試圖查找它,但我無法在任何地方找到它:/

AFAIK ,我們不能將特定單元格從一個筆記本調用到另一個筆記本。

為每個單元格使用函數並使用%run Notebook_name調用它,正如@GregGalloway在評論中所建議的那樣,這可能是一種解決方法。

例子:

在此處輸入圖像描述

在此處輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM