为什么keys()和values()不能处理(String,String)单对RDD,而sortByKey()可以正常工作

时间:2016-01-28 10:38:28

标签: scala apache-spark

我使用Spark目录中的README.md文件创建RDD。 newRDD 的类型为(String,String)

val lines = sc.textFile("README.md")
val newRDD = lines.map(x => (x.split(" ")(0),x))

因此,当我尝试运行newRDD.values()newRDD.keys()时,我收到错误消息:

error: org.apache.spark.rdd.RDD[String] does not take parameters newRDD.values().keys() resp。

我从错误中可以理解的是,String数据类型可能不是关键(我认为我错了)。但如果是这样的话,为什么呢 newRDD.sortByKey()工作?

注意:我正在尝试values()keys()转换,因为它们被列为单对RDD的有效转换

编辑:我在Scala中使用Apache Spark 1.5.2版

1 个答案:

答案 0 :(得分:4)

它不起作用<img>(或values)没有接收任何参数,因此必须在没有括号的情况下调用它们:

keys