SparkとScalaを使い始めたばかりです。私たちはdev cloudera hadoopクラスタにSpark 2をインストールしました。私はspark2-shellを使用しています。基本を学ぶために本を読んでいます。Spark Scala printlnにはcollect()が必要ですか?
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>
あなたが見ることができるように、私は(コレクトを行う場合を除き、何も出力しません):それは例が収集を行わず作業のprintln(FOO)を示しているが、それは私のために働いていないのです。
何が起こっている、本が間違っている、またはspark/scala/configで面白いものですか?
バージョン情報:
Spark version 2.0.0.cloudera2
Using Scala version 2.11.8 (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0_111)
どのような環境で実行していますか?クラスタで実行している場合、収集を行わないforeachはまずローカルマシンではなくクラスタ上で実行されます。 – puhlen
ありがとう、それが問題だと思います。 DEVのhadoopクラスタ実行スパークは、いくつかのデータノードを持っています。 – medloh