当前位置: 首页 > 知识库问答 >
问题:

Spark:java.lang.NoClassDefFoundError: scala/集合/可变/ArraySeq$ofRef

慕容烨
2023-03-14

我试图运行一个简单的字数计数程序与火花提交和得到一个例外。

异常线程"main"java.lang.BootstrapMultiodError:java.lang.NoClassDefFoundError: scala/集合/可变/ArraySeq$ofRef at SparkWordCount$. main(SparkWordCount.scala:18)

从第18行开始的代码是

val count = input.flatMap(line ⇒ line.split(" "))
    .map(word ⇒ (word, 1))
    .reduceByKey(_ + _)

我的环境:

  • Windows 10

共有1个答案

盖嘉庆
2023-03-14

如评论中所述,解决方案是在集群上使用相同版本的Scala进行开发。

 类似资料:
  • 问题内容: 从Java 1.6 Collection Framework文档中 : 不支持任何修改操作(如类别,和)被称为 不可修改的 。[…]额外保证Collection对象中的任何更改都将不可见的Collection被称为 不可变的 。 第二个标准使我有些困惑。鉴于第一个集合是不可修改的,并且假定原始集合引用已被删除,那么第二行中提到的更改是什么?它是指集合中包含的元素的变化,即元素的状态吗?

  • 问题内容: 我指的是Apple的Swift编程指南,以了解如何用Swift语言创建可变/不可变对象(数组,字典,集合,数据)。但是我不明白如何在Swift中创建一个不可变的集合。 我希望在Objective-C中看到以下Swift中的等效项 不变数组 可变数组 不变字典 可变字典 问题答案: 创建不可变数组 第一种方式: 第二种方式: 创建可变数组 将对象追加到数组 辞典 创建不可变字典 创建可变

  • 不可变集合是不可被修改的, 集合的数据项是在创建的时候提供, 并且在整个生命周期中都不可改变. Immutable对象有以下的优点: 对不可靠的客户代码库来说,它使用安全,可以在未受信任的类库中安全的使用这些对象 线程安全的:immutable对象在多线程下安全,没有竞态条件 不需要支持可变性, 可以尽量节省空间和时间的开销. 所有的不可变集合实现都比可变集合更加有效的利用内存 (analysis

  • 问题内容: 我真的很喜欢Java 8流和Guava的不可变集合,但是我不知道如何将两者一起使用。 例如,如何实现将流结果收集到ImmutableMultimap中的Java 8 Collector? 优点:我希望能够提供键/值映射器,类似于Collectors.toMap()的工作方式。 问题答案: 从21版开始,您可以

  • Java 9 版本以前,假如要创建一个包含 6 个元素的 Set 集合,程序需要先创建 Set 集合,然后调用 6 次 add() 方法向 Set 集合中添加元素。Java 9 对此进行了简化,程序直接调用 Set、List、Map 的 of() 方法即可创建包含 N 个元素的不可变集合,这样一行代码就可创建包含 N 个元素的集合。 不可变意味着程序不能向集合中添加元素,也不能从集合中删除元素。

  • 不可变对象是无法更改状态的对象。它们更容易测试和调试,在并发编程中非常有用。然而,与可变集合的亲属相比,当前的不可变集合实现的性能较差。例如,将关联数组实现为不可变的红黑树时,平均有O(log(n))个Insert/Delete,而哈希表平均有O(1)个Insert/Delete。 总的来说,不可变集合是否比它们的可变表亲效率低,或者有一天我们会找到同样快的不可变实现?