Erste Schritte mit Spark und Scala. Wir haben Spark 2 auf unserem dead cloudera-Hadoop-Cluster installiert und ich verwende spark2-shell. Ich gehe durch ein Buch, um ein paar Grundlagen zu lernen. Es ist Beispiele zeigen println (foo) arbeiten, ohne eine collect zu tun, aber das funktioniert nicht für mich:Spark Scala println erfordert ein Sammeln()?
scala> val numbers = sc.parallelize(10 to 50 by 10)
numbers: org.apache.spark.rdd.RDD[Int] = ParallelCollectionRDD[9] at parallelize at <console>:24
scala> numbers.collect().foreach(println)
10
20
30
40
50
scala> numbers.foreach(x => println(x))
scala>
Wie Sie sehen können, nichts gedruckt, wenn ich ein R-do().
Was ist los, ist das Buch falsch, oder ist etwas komisches mit meinem Spark/Scala/Config?
Version Info:
Spark version 2.0.0.cloudera2
Using Scala version 2.11.8 (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0_111)
In welche Umgebung laufen Sie? Wenn Sie auf einem Cluster ausgeführt werden, wird die foreach ohne eine Erfassung zuerst auf dem Cluster und nicht auf Ihrem lokalen Computer ausgeführt. – puhlen
Danke, denke, das ist das Problem. Unser DEV-Hadoop-Cluster-Funke hat einige Datenknoten. – medloh