![](/img/trans.png)
[英]value mkString is not a value of org.apache.spark.rdd.RDD[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上主要有两种类型的操作:
转换 :将输入作为RDD,将输出作为RDD
操作 :接受输入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.