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

進口限製和udf包裝模塊通過回購文件?

沙皇
新的貢獻者三世

我們已經導入自定義模塊輪從我們AzDevOps庫文件。我們將使用磚回購的任意文件化簡但打破我們的火花UDF包裝ModuleNotFoundError圖書館的功能。這是一個限製使用回購文件/筆記本作用域模塊,或者我們缺少一個步驟嗎?

更新:我隱含在代碼注釋,但可能需要顯式地從回購文件導入工作狀態。事實證明,直接調用UDF。但這並不工作:df = df.withColumn (F.col (“col1”), normalize_stringUDF (F.col (“col1”)))

#回購文件添加到syspath進口sys sys.path.append (“/ Workspace /回購/ refined_pipeline_library / refined_pipeline”) #導入函數從refined_pipeline.data_utils回購。data_utils進口normalize_string # define UDF normalize_stringUDF = UDF(λcol_name: normalize_string (col_name)) #這作品總是打印(normalize_string (“wjfhw / / ef efuehf fheu ehe * & * H”)) #這個失敗在導入模塊從回購,但工作在集群上安裝模塊的時輪df = df.withColumn (F.col (“col1”), normalize_stringUDF (F.col (“col1”)))

錯誤的是:

PythonException:“pyspark.serializers。SerializationError:由回溯(最近的電話最後):org.apache.spark。SparkException:工作階段失敗而終止:任務0階段38.0失敗了4次,最近的失敗:在舞台上失去了任務0.3 38.0 (TID 71)(10.16.12.16執行人0):org.apache.spark.api.python。PythonException:“pyspark.serializers。SerializationError:由回溯(最近的電話最後):文件“/磚/火花/ python / pyspark /序列化器。py”, 165行,在_read_with_length返回self.loads (obj)文件“/磚/火花/ python / pyspark /序列化器。py”, 466行,在負載返回泡菜。負載(obj,編碼=編碼)ModuleNotFoundError:沒有模塊名為“refined_pipeline”。完整回溯:回溯(最近的電話最後):文件“/磚/火花/ python / pyspark /序列化器。py”, 165行,在_read_with_length返回self.loads (obj)文件“/磚/火花/ python / pyspark /序列化器。py”, 466行,在負載返回泡菜。負載(obj,編碼=編碼)ModuleNotFoundError:沒有模塊命名為“refined_pipeline”

12個回複12

沙皇
新的貢獻者三世

@Aman Sehgal @Kaniz Fatma我啟用了“回購文件”。就像我說的,它從回購成功導入模塊,但不工作當我從該模塊調用一個函數在一個UDF。

沙皇
新的貢獻者三世

@Hubert杜德克謝謝你的信息。你有工作在一個UDF嗎?

Julian_Massaran
新的貢獻者二世

也麵臨著同樣的問題。你算出來了嗎?

Scott_B
新的貢獻者三世

請看下麵我的回答

Scott_B
新的貢獻者三世

如果你的筆記本是在相同的回購模塊中,這應該沒有任何修改係統路徑。

如果你的筆記本不是在相同的回購模塊中,您可能需要確保係統的路徑是正確的在集群中所有節點需要的模塊。例如,這段代碼應該適合你:

#創建一個包裝器函數在模塊,更新係統路徑進口sys def my_wrapper_function (x): sys.path.append (“/ Workspace /回購/ user_name / repo_name”)從repo_name進口lib_function返回lib_function (x) # Define UDF my_udf = UDF(λcol_name: my_wrapper_function (col_name)) #這應該工作現在df = df.withColumn (F.col (“col1”), my_udf (F.col (“col1”)))

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

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

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

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

Baidu
map