我使用databricks-connect,火花工作相關的火花dataframe工作好。但是,當我觸發火花毫升代碼,我得到錯誤。
例如,在代碼中執行:https://docs.m.eheci.com/_static/notebooks/gbt-regression.html
pipelineModel = pipeline.fit(火車)
22/11/04 09:28:15錯誤儀表:. io .IOException:意想不到的異常類型java.io.ObjectStreamClass.throwMiscException (ObjectStreamClass.java: 1750) java.io.ObjectStreamClass.invokeReadResolve (ObjectStreamClass.java: 1280) java.io.ObjectInputStream.readOrdinaryObject (ObjectInputStream.java: 2196) - - - - - - - - - - - - - - - - - - - - - - - - - -由:數組;InvocationTargetException sun.reflect.NativeMethodAccessorImpl。invoke0(本機方法)sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java: 62) sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java: 43) java.lang.reflect.Method.invoke (Method.java: 498) - - - - - - - - - - - - - - - - - - - - - - - - - - - -造成的:. lang。IllegalArgumentException:非法λ反序列化scala.runtime.LambdaDeserializer .makeCallSite 1美元(LambdaDeserializer.scala: 89)美元scala.runtime.LambdaDeserializer .deserializeLambda (LambdaDeserializer.scala: 114) scala.runtime.LambdaDeserialize.deserializeLambda (LambdaDeserialize.java: 38) - - - - - - - - - - - - - - - - - - - - - - - - - - - py4j.protocol。Py4JJavaError:調用o806.fit時發生一個錯誤。:. io .IOException:意想不到的異常類型java.io.ObjectStreamClass.throwMiscException (ObjectStreamClass.java: 1750) java.io.ObjectStreamClass.invokeReadResolve (ObjectStreamClass.java: 1280) java.io.ObjectInputStream.readOrdinaryObject (ObjectInputStream.java: 2196) - - - - - - - - - - - - - - - - - - - - - - - - - -由:數組;InvocationTargetException sun.reflect.NativeMethodAccessorImpl。invoke0(本機方法)sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java: 62) sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java: 43) - - - - - - - - - - - - - - - - - - - - - - - - - - - -造成的:. lang。IllegalArgumentException:非法λ反序列化scala.runtime.LambdaDeserializer .makeCallSite 1美元(LambdaDeserializer.scala: 89)美元scala.runtime.LambdaDeserializer .deserializeLambda (LambdaDeserializer.scala: 114) scala.runtime.LambdaDeserialize.deserializeLambda (LambdaDeserialize.java: 38)
有人知道如何修複它嗎?
我遇到同樣的問題。我也使用磚10.4.12連接。我們的模型在生產管線做得很好,因為他們是使用磚UI,而不是databricks-connect。然而,在我們的測試中CI管道他們跑在碼頭工人使用databricks-connect容器(使用Concourse-CI)。代碼是一樣的。當我試著我的本地機器上運行相同的代碼手動連接到我們的集群通過databricks-connect特洛伊這裏我遇到同樣的問題。
事實上,我試著運行一個非常小的隨機森林分類器和我仍然遇到同樣的問題。以下是我使用的代碼:
進口numpy pyspark.ml np大熊貓作為pd導入。分類從pyspark.ml進口RandomForestClassifier。從pyspark.sql進口VectorAssembler特性。會話導入SparkSession火花= SparkSession.builder.getOrCreate()數據=火花。createDataFRame (pd。DataFrame ({“feature_a”: np.random.random (100),“feature_b”: np.random.random (100),“feature_c”: np.random.random(100),“標簽”:np.random。選擇([0,1],100)})vector_assembler = VectorAssembler (inputCols = [f”feature_ {n}”為n (“a”、“b”、“c”), outputCol =“特性”)parsed_data = (vector_assembler .transform(數據).drop (* (f”feature_ {n}”為n (“a”、“b”、“c”)))模型= RandomForestClassifier () model.fit (parsed_data) #錯誤扔在這裏,特洛伊的非常相似。
我附上我的錯誤輸出。