Scala程序到Java 8程序转换
问题描述:
我已经开始学习Apache Spark了。现在这些教程主要是用scala编写的。我也想尝试java 8中的程序。Scala程序到Java 8程序转换
但我找不到在java 8中为少数scala代码编写的等效代码。
阶代码如下:
def main(args: Array[String]) {
val sc = new SparkContext("local[*]", "<class-name>")
val lines = sc.textFile("../a.data")
val stars = lines.map(x => x.toString().split("\t")(2))
val results = ratings.countByValue()
val sortedResults = results.toSeq.sortBy(_._1)
sortedResults.foreach(println)
}
在Java 8我写的等效代码是:
public static void main(String[] args){
JavaSparkContext sc = new JavaSparkContext("local[*]", "<class-name>");
JavaRDD<String> lines = sc.textFile("../a.data");
//....
}
代码的剩余部分,我不是能够转换。我无法在java 8中找到等价的map函数。有一个flatmap,但它创建了许多实例。
我尝试了其他几种方法,但没有工作。
请帮我看看这个程序。
文件中的数据格式
191 241 4 654258949
186 312 1 991123772
答
不知该做的伎俩。不确定,如果我有效地编码或没有。
3210
Java API与scala非常相似。查看JavaRDD的Docs,它具有您需要的所有相同方法。 – puhlen
是的你是对的。但是如果我可以得到第一个程序的帮助,那我就可以开始了。我也在研究网上的例子,但没有运气。 – azaveri7
我认为你可以使用Java 8的'map'写一些类似'val stars = lines.map(x => x.toString()。split(“\ t”)(2))的东西。 – jrook