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

進口與spark.read python函數。jdbc的回購

mortenhaga
貢獻者

嗨!

之前我們使用磚回購我們使用了魔法跑各種實用的python函數從一個筆記本內部其他筆記本,fex喜歡閱讀從一個jdbc連接。我們現在計劃轉向回購利用帶給我們的奇妙的CI / CD的可能性。但我們遇到了一些挑戰。

首先,我已經明白,你不能使用魔法跑筆記本。隻允許arbritary文件被使用。然後我們改寫從筆記本到. py文件,成功導入功能但火花相關錯誤發生。

這是我設置的概述:

python文件函數所在的文件夾“跑龍套”和筆記本我想利用它在文件夾“著陸”。

image.png函數是這樣的:

類qybele_db_connection: #這個類創建了一個安全連接到海洋數據庫jdbcHostname = " x " jdbcPort = 3306 jdbcDatabase = " x " jdbcUrl = " jdbc: mysql: / / {0}: {1} / {2}”。形式at(jdbcHostname, jdbcPort, jdbcDatabase) #always use the databricks secrets manager to store password jdbcpassword = 'x' connectionProps = { "user": 'x', "password": jdbcpassword } @staticmethod def read(spark_session,query=str): """ this static method uses the above variables in a spark.read.jdbc function to create the connection. Note that the function takes in a string, which is a query and passes it to the "table" method in the spark function. """ try: print('Executing query') df=spark.read.jdbc(url=qybele_db_connection.jdbcUrl, table=query, properties=qybele_db_connection.connectionProps) except Exception as e: raise Exception("Issue with reading from seas database") return df

這就是我如何進口到筆記本:

圖像

  • 我真的必須從整個sparksession包括“spark.read時出現的問題。jdbc”在python文件這種工作流嗎?
  • 我怎麼能堅持魔術之前運行;即運行筆記本,而不是進口的python函數?
  • 這將如何影響結果當你使用這個筆記本從回購工作/工作流?
  • 使用回購時如何磚秘密行動?
1接受解決方案

接受的解決方案

匿名
不適用

回購,如果你有一個筆記本,筆記本可以包括一個%。我附上截圖,你可以看到它在我的筆記本上。你可以告訴它的回購公元前發表按鈕在頂部。

在原帖子查看解決方案

2回答2

匿名
不適用

回購,如果你有一個筆記本,筆記本可以包括一個%。我附上截圖,你可以看到它在我的筆記本上。你可以告訴它的回購公元前發表按鈕在頂部。

mortenhaga
貢獻者

這……奇怪。我確信我有試過,但現在工作。我想這必須用雙引號,現在我做到了。謝謝!就像一個魅力。

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

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

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

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

Baidu
map