value toArray不是org.apache.spark.rdd的成员.抽样(字符串、整数)



我在编译scala程序时遇到了一个问题。这是我的代码。

这是给出问题的代码部分。

val Average_Age = 
 value2
  .groupBy(_._2._1)
  .mapValues(Sum_Age=>mean1(Sum_Age.map(_._2._2)))
  .toArray

Spark在RDD上主要有两种操作:

  1. 转换:输入为RDD,输出为RDD

  2. Actions:接受输入RDD并返回一个Scala Collection。

您在这里做错的是您试图将RDD直接转换为Array。这是不可能的,因此你需要先应用Action以获得scala Collection形式的输出。

因此,您可以通过添加一个操作来使它工作:

val Average_Age = 
 value2
  .groupBy(_._2._1)
  .mapValues(Sum_Age=>mean1(Sum_Age.map(_._2._2))).collect
  .toArray

注::代码没有经过测试!

我不确定您对Spark和使用rdd(弹性分布式数据集)有多熟悉,但如果您不熟悉,一些阅读将非常有帮助。

您的问题是RDD不再支持直接调用toArray();你应该使用.collect()

相关内容

  • 没有找到相关文章

最新更新