简体   繁体   English

Amazon Deequ (Spark + Scala) - java.lang.NoSuchMethodError: 'scala.Option org.apache.spark.sql.catalyst.expressions.aggregate.AggregateFunction.toAgg

[英]Amazon Deequ (Spark + Scala ) - java.lang.NoSuchMethodError: 'scala.Option org.apache.spark.sql.catalyst.expressions.aggregate.AggregateFunction.toAgg

Spark Version - 3.0.1 Amazon Deequ version - deequ-2.0.0-spark-3.1.jar Spark 版本- 3.0.1亚马逊 Deequ 版本- deequ-2.0.0-spark-3.1.jar

Im running the below code in spark shell in my local :我在本地的 spark shell 中运行以下代码:

import com.amazon.deequ.analyzers.runners.{AnalysisRunner, AnalyzerContext}   
import com.amazon.deequ.analyzers.runners.AnalyzerContext.successMetricsAsDataFrame  
import com.amazon.deequ.analyzers.{Compliance, Correlation, Size, Completeness, Mean, 
ApproxCountDistinct, Maximum, Minimum, Entropy}  

import com.amazon.deequ.analyzers.{Compliance, Correlation, Size, Completeness, Mean, 
ApproxCountDistinct, Maximum, Minimum, Entropy}

val analysisResult: AnalyzerContext = {AnalysisRunner.onData(datasourcedf).addAnalyzer(Size()).addAnalyzer(Completeness("customerNumber")).addAnalyzer(ApproxCountDistinct("customerNumber")).addAnalyzer(Minimum("creditLimit")).addAnalyzer(Mean("creditLimit")).addAnalyzer(Maximum("creditLimit")).addAnalyzer(Entropy("creditLimit")).**run()**}

ERROR:错误:

    java.lang.NoSuchMethodError: 'scala.Option 
org.apache.spark.sql.catalyst.expressions.aggregate.AggregateFunction.toAggregateExpression$default$2()'
at org.apache.spark.sql.DeequFunctions$.withAggregateFunction(DeequFunctions.scala:31)
at org.apache.spark.sql.DeequFunctions$.stateful_approx_count_distinct(DeequFunctions.scala:60)
at com.amazon.deequ.analyzers.ApproxCountDistinct.aggregationFunctions(ApproxCountDistinct.scala:52)
at com.amazon.deequ.analyzers.runners.AnalysisRunner$.$anonfun$runScanningAnalyzers$3(AnalysisRunner.scala:319)
at scala.collection.TraversableLike.$anonfun$flatMap$1(TraversableLike.scala:245)
at scala.collection.immutable.List.foreach(List.scala:392)
at scala.collection.TraversableLike.flatMap(TraversableLike.scala:245)
at scala.collection.TraversableLike.flatMap$(TraversableLike.scala:242)
at scala.collection.immutable.List.flatMap(List.scala:355)
at com.amazon.deequ.analyzers.runners.AnalysisRunner$.liftedTree1$1(AnalysisRunner.scala:319)
at com.amazon.deequ.analyzers.runners.AnalysisRunner$.runScanningAnalyzers(AnalysisRunner.scala:318)
at com.amazon.deequ.analyzers.runners.AnalysisRunner$.doAnalysisRun(AnalysisRunner.scala:167)
at com.amazon.deequ.analyzers.runners.AnalysisRunBuilder.run(AnalysisRunBuilder.scala:110)
... 63 elided

Can someone please let me know how to resolve this issue有人可以让我知道如何解决这个问题

You can't use Deeque version 2.0.0 with Spark 3.0 because it's binary incompatible due of the changes in the Spark's internals.您不能将 Deeque 2.0.0 版与 Spark 3.0 一起使用,因为由于 Spark 内部结构的变化,它与二进制文件不兼容。 With Spark 3.0 you need to use version 1.2.2-spark-3.0使用 Spark 3.0,您需要使用版本1.2.2-spark-3.0

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 亚马逊网络服务-嵌套异常是java.lang.NoSuchMethodError:org.springframework.beans.MutablePropertyValues.add - Amazon Web Services - nested exception is java.lang.NoSuchMethodError: org.springframework.beans.MutablePropertyValues.add 如何在 spark scala 中动态聚合列? - How to aggregate the columns dynamically in spark scala? Tinkerpop Gremlin 控制台:java.lang.NoSuchMethodError:org.apache.tinkerpop.gremlin.driver.RequestOptions$Builder.userAgent - Tinkerpop Gremlin Console: java.lang.NoSuchMethodError: org.apache.tinkerpop.gremlin.driver.RequestOptions$Builder.userAgent 如何在Amazon EMR上运行Spark Scala代码 - How to run Spark Scala code on Amazon EMR AWS RDS提供了java.lang.NoSuchMethodError - AWS RDS gives java.lang.NoSuchMethodError AWS ElasticSearch PreBuiltTransportClient java.lang.NoSuchMethodError - AWS ElasticSearch PreBuiltTransportClient java.lang.NoSuchMethodError AWS 开发工具包:java.lang.NoSuchMethodError - AWS SDK: java.lang.NoSuchMethodError AWS Java SDK错误 - java.lang.NoSuchMethodError - AWS Java SDK Error - java.lang.NoSuchMethodError 使用 Scala Spark 将文本文件转换为数据框 - Turn textfile into dataframe with Scala Spark joda-time 的 AWS 问题(java.lang.NoSuchMethodError) - AWS issue with joda-time (java.lang.NoSuchMethodError)
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM