apache-spark - 无法在本地运行 amazon deequ 示例
问题描述
我正在尝试在本地运行和测试 amazon deequ 库,但对于各种示例,我反复收到类未找到错误。准确错误
java.lang.NoClassDefFoundError: scala/Product$class
at com.amazon.deequ.profiles.ColumnProfilerRunBuilderFileOutputOptions.<init>(ColumnProfilerRunner.scala:31)
at com.amazon.deequ.profiles.ColumnProfilerRunBuilder.run(ColumnProfilerRunBuilder.scala:174)
... 47 elided
Caused by: java.lang.ClassNotFoundException: scala.Product$class
at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:466)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:566)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:499)
... 49 more
或者
val suggestionResult = ConstraintSuggestionRunner().onData(input).addConstraintRules(Rules.DEFAULT).run()
java.lang.NoClassDefFoundError: scala/Product$class
at com.amazon.deequ.suggestions.rules.CompleteIfCompleteRule.<init>(CompleteIfCompleteRule.scala:25)
at com.amazon.deequ.suggestions.Rules$.<init>(ConstraintSuggestionRunner.scala:33)
at com.amazon.deequ.suggestions.Rules$.<clinit>(ConstraintSuggestionRunner.scala)
... 49 elided
我遵循的代码是我使用 spark-submit --class --packages com.amazon.deequ:deequ:1.0.4 的示例中给出的代码
我也尝试使用 spark-shell --jars 并尝试逐行运行但仍然得到相同的结果
解决方案
此问题与 deequ 无关,但可能是由错误的 Scala 版本引起的。deequ 目前仅支持 Scala 2.11。请确保您使用的是正确的版本。
有关更多详细信息,请参阅此答案NoClassDefFoundError: scala/Product$class。
推荐阅读
- mysql - 如何在我的 sql 中将 count() 查询拆分为 10 个组
- java - 以编程方式从 Java 中的字符串中获取多个代码
- swiftui - Swiftui 切换未触发
- javascript - 计算颜色单元格-Google 表格
- r - 使用 sample() 模拟马尔可夫链的概率数不正确
- scala - Slick 找不到匹配的形状
- scala - Spark数据框计算列中的元素
- c# - 如何获取 SQLite 数据库中表的索引列
- typescript - 我应该为空对象使用什么类型?
- apache-nifi - ExecuteProcess 处理器与 NIFI 自定义处理器运行 java 应用程序 jar。哪一个更好?