繁体   English   中英

值toArray不是org.apache.spark.rdd.RDD [(String,Int)]的成员

[英]value toArray is not a member of org.apache.spark.rdd.RDD[(String, Int)]

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

这是发出问题代码的一部分。

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

我不确定您对Spark和使用RDD(弹性分布式数据集)的熟悉程度如何,但是如果您不熟悉, 那么阅读一些书会很有帮助。

您遇到的问题是RDD不再支持直接调用toArray() 您应该改用.collect()

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

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

  2. 操作 :接受输入RDD并返回Scala集合。

您在这里做错了,您正在尝试将RDD直接转换为Array 无法做到这一点,因此您需要首先应用操作以获取scala集合形式的输出。

因此,您可以通过添加一个动作来完成这项工作:

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

PS:该代码未经测试!

暂无
暂无

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

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM