我正在嘗試在集群模式下使用 spark 提交將一些資料合并到 k8s 中的流應用程式中的增量表
得到以下錯誤,但它在 k8s 本地模式和我的筆記本電腦中作業正常,與 delta Lake 相關的操作都沒有在 k8s 集群模式下作業,
以下是我正在使用的庫版本,是否存在兼容性問題,
SPARK_VERSION_DEFAULT=3.3.0
HADOOP_VERSION_DEFAULT=3
HADOOP_AWS_VERSION_DEFAULT=3.3.1
AWS_SDK_BUNDLE_VERSION_DEFAULT=1.11.974
下面是錯誤資訊
py4j.protocol.Py4JJavaError: 呼叫 o128.saveAsTable 時出錯。:java.util.concurrent.ExecutionException:org.apache.spark.SparkException:作業因階段失敗而中止:階段0.0中的任務0失敗4次,最近一次失敗:階段0.0中丟失任務0.3(TID 4)(192.168。 15.250 執行程式 2):java.lang.ClassCastException:無法將 java.lang.invoke.SerializedLambda 的實體分配給 org.apache 實體中 scala.Function1 型別的欄位 org.apache.spark.sql.catalyst.expressions.ScalaUDF.f .spark.sql.catalyst.expressions.ScalaUDF
uj5u.com熱心網友回復:
斯卡拉版本:2.12.11
火花:2.4.6
delta-core_2.12:0.7.0
delta-sql_2.12:0.7.0
hadoop-天藍色:2.7.6
hadoop-azure-datalake:3.0.0
org.apache.spark.sql.AnalysisException:資料源不支持該操作;
引起:org.apache.spark.sql.AnalysisException:Datasource不支持該操作;
在 org.apache.spark.sql.catalyst.analysis.UnresolvedRelation.$anonfun$checkOperationsSupport$1(UnresolvedRelation.scala:269)
在 org.apache.spark.sql.catalyst.analysis.UnresolvedRelation.$anonfun$checkOperationsSupport$1$adapted(UnresolvedRelation.scala:268)
在 scala.collection.Iterator.foreach(Ite??rator.scala:929)
在 scala.collection.Iterator.foreach$(Iterator.scala:929)
在 scala.collection.AbstractIterator.foreach(Ite??rator.scala:1406)
在 org.apache.spark.sql.catalyst.analysis.UnresolvedRelation.checkOperationsSupport(UnresolvedRelation.scala:268)
在 org.apache.spark.sql.catalyst.analysis.UnresolvedRelation.$anonfun$resolveOperations$1(UnresolvedRelation.scala:27??5)
在 org.apache.spark.sql.catalyst.analysis。
uj5u.com熱心網友回復:
最終能夠解決這個問題,問題是由于某些原因導致的依賴 jars,如 delta,kafka 在執行程式中不可用,根據下面的 SO 回應
無法將 scala.collection.immutable.List$SerializationProxy 的實體分配給欄位 org.apache.spark.sql.execution.datasources.v2.DataSourceRDD
我已經使用 docker image 在 spark/jars 檔案夾中添加了 jars 并且問題得到了解決,
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/512311.html
