1
私はキーと値のペアの配列を含むRDDを持っています。私はキーで要素を取得したい(例えば4)。apache-sparkスケーラの配列RDDの特定の要素へのアクセス
scala> val a = sc.parallelize(List("dog","tiger","lion","cat","spider","eagle"),2)
a: org.apache.spark.rdd.RDD[String] = ParallelCollectionRDD[0] at parallelize at <console>:27
scala> val b = a.keyBy(_.length)
b: org.apache.spark.rdd.RDD[(Int, String)] = MapPartitionsRDD[1] at keyBy at <console>:29
フィルタを適用しようとしましたが、エラーが発生しました。
Iは、データが常にキーの配列の形で来ているArray((4,lion))
としてキー、特定のキー(例えば4)と値のペアを印刷する
scala> val c = b.filter(p => p(0) = 4);
<console>:31: error: value update is not a member of (Int, String)
val c = b.filter(p => p(0) = 4);
、値ペア
これは機能しています。私はあなたが私がapache sparkを初めて使ったので、あなたがした解決策を理解することができません。これを啓発していただけますか? –
では、 '_'でタプル要素にアクセスすることができます。ここで 'kvRdd'はタプルの' RDD'です。 [tuples](https://www.tutorialspoint.com/scala/scala_tuples.htm) – mrsrinivas