Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Scala程序到Java 8程序的转换_Java_Scala_Apache Spark - Fatal编程技术网

Scala程序到Java 8程序的转换

Scala程序到Java 8程序的转换,java,scala,apache-spark,Java,Scala,Apache Spark,我已经开始学习ApacheSpark。现在,教程大部分是用scala编写的。我也想试试Java8中的程序 但我在Java8中找不到一些scala代码的等效编码 scala代码如下所示: def main(args: Array[String]) { val sc = new SparkContext("local[*]", "<class-name>") val lines = sc.textFile("../a.data") val stars = li

我已经开始学习ApacheSpark。现在,教程大部分是用scala编写的。我也想试试Java8中的程序

但我在Java8中找不到一些scala代码的等效编码

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)
  }

不知怎的,这就成功了。不确定,我是否有效地编写了代码

sc.textFile("../a.data")
        .map(text -> Arrays.asList(text.split("\t")[2]))
        .mapToPair(word -> new Tuple2<>(word, 1))
        .reduceByKey((a, b) -> a + b)
        .foreach(result -> System.out.println(
            String.format("Word [%s] count [%d].", result._1(), result._2)));
sc.textFile(“../a.data”)
.map(text->Arrays.asList(text.split(“\t”)[2]))
.mapToPair(word->new Tuple2(word,1))
.reduceByKey((a,b)->a+b)
.foreach(结果->System.out.println(
String.format(“单词[%s]计数[%d]”,result._1(),result._2));

Java API与scala非常相似。看看JavaRDD的文档,它有所有您需要的方法。是的,您是对的。但如果我能得到第一个项目的帮助,我就可以开始了。我也在研究在线示例,但运气不好。我认为您可以使用Java 8的
map
编写类似于
val stars=lines.map(x=>x.toString().split(“\t”)(2))
191 241 4   654258949
186 312 1   991123772
sc.textFile("../a.data")
        .map(text -> Arrays.asList(text.split("\t")[2]))
        .mapToPair(word -> new Tuple2<>(word, 1))
        .reduceByKey((a, b) -> a + b)
        .foreach(result -> System.out.println(
            String.format("Word [%s] count [%d].", result._1(), result._2)));