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

DLT和模塊化(最佳實踐?)

jeremy1
新的貢獻者二世

我(非常)最近首次開始使用DLT。我遇到的一個挑戰是如何在我的管道包括其他“模塊”。我錯過了文檔,神奇的命令(除了% pip)被忽略,並首次運行工作流時非常不滿。

的最佳實踐是什麼在工作流包括常見的模塊?

我具體情況,我想要做的是創建一個單獨的模塊,它可以動態地生成一個dict預期給定一個特定的表…我絕對不想包括這是我所有的筆記本(幹)。任何意見/建議/ best-pratices新手如何做到這一點呢?

謝謝你的幫助和指導!

10個回答10

Greg_Galloway
新的貢獻者三世

@Ruben Hartenstein我看不到任何@dlt。表在代碼中提到。我假設錯誤意味著管道評估代碼,沒有發現任何DLT表。可能的一些研究樣品作為一個模板?

hardy1982
新的貢獻者二世

@Greg洛韋

是沒有辦法運行沒有@dlt管道?

我隻是想用蜂巢的編碼表。

Greg_Galloway
新的貢獻者三世

如果你不想要任何三角洲生活表,然後使用工作流選項卡下的工作選項卡。還是有很多其他的方式運行一個筆記本在編排工具使用(例如Azure數據工廠,等等)@Ruben Hartenstein

Kaniz
社區經理
社區經理

嗨@Jeremy寇爾森,我們一直沒有收到你最後的回應@Arvind強奸,我檢查是否你有一個決議。如果你有任何解決方案,請與社區分享,因為它可以幫助別人。否則,我們將與更多的細節和試圖幫助回應。

Greg_Galloway
新的貢獻者三世

我喜歡這種方法@Arvind強奸共享因為目前你不能使用% DLT管道中運行。然而,它采取了一種小測試清楚如何使它工作。

首先,確保在管理控製台中,回購功能配置如下:

image.png然後創建一個新的任意文件命名Import.py使用下麵的菜單選項。(注意,它不使用一個筆記本。)

創建任意文件文件應該包含代碼如下:

MYVAR1 = "嗨" MYVAR2 = 99 MYVAR3 =“hello”def階乘(num):事實= 1我的範圍(1,num + 1):事實=事實*我回來的事實

DLT筆記本,下麵的代碼加載Import.py並執行Python代碼。然後MYVAR1 MYVAR2 MYVAR3,階乘函數都可以參考下遊管道。

進口pyspark.sql。函數作為f txt = spark.read.text(“文件:/工作區/回購/ FolderName / RepoName / Import.py”) #文件的所有行合並到一個字符串回轉支承= txt.agg (f。concat_ws (“\ r \ n”, f.collect_list (txt.value))) data = " \ r \ n " . join (singlerow.collect()[0]) #執行python字符串的exec(數據)

這似乎在當前工作和預覽通道DLT管道。

不幸的是,os.getcwd()命令似乎在DLT管道(因為它返回/磚/司機即使DLT管道筆記本是在回購)所以我並沒有發現使用相對路徑即使你的筆記本也在回購。以下目前失敗和Azure支持案例2211240040000106已打開:

進口操作係統導入pyspark.sql。函數作為f txt = spark.read.text (f”文件:{os.getcwd ()} / Import.py”) #文件的所有行合並到一個字符串回轉支承= txt.agg (f。concat_ws (“\ r \ n”, f.collect_list (txt.value))) data = " \ r \ n " . join (singlerow.collect()[0]) #執行python字符串的exec(數據)

我也難以使用import示例使用硬編碼路徑從aravish沒有像sys.path.append (“/ Workspace /回購/ TopFolder / RepoName”)當運行在一個DLT管道。aravish方法是有用的,如果您想要導入函數定義但不執行任何Python代碼,不定義任何變量將在調用可見筆記本的火花。

注意:編輯從先前的帖子,我犯了幾個錯誤。

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

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

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

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

Baidu
map