私はSparkとScalaの学習を始めました。リストの反復を並列化してSparkでRDDを作成する方法は?
collect
を使用するのは悪いことですが、メモリ内のデータ全体が収集され、for
を使用することも悪い習慣です。ブロック内のコードは複数のノードで同時に実行されないためです。
List(1,2,3,4,5,6,7,8,9,10)
と私は、この値を使用してRDD
を生成する必要がこれらの値のそれぞれについて:
は今、私は1から10までの数字のリストを持っています。
この場合、RDD
はどのように生成できますか?
sc.parallelize(List(1,2,3,4,5,6,7,8,9,10)).map(number => generate_rdd(number))
を行うことにより、RDDは別のRDD内部で発生することができないので、私はエラーを取得します。
この問題を解決する最良の方法は何ですか?
なぜ値ごとにrddを作成したいですか? rddは値/インスタンスの集合として定義されており、各値に対してインスタンスをrddとして作成したいとしますか? – hasan
@ハサン私は、データ全体の異なるサブセットを使用する必要があります。各繰り返しでデータをフィルタリングするには数値が必要です – Vektor88
次にmapの代わりに.filterを試してみてください。フィルタリングされた(正の)値のrddが返されます。 – hasan