注文したRDDのタイプが((id, ts), some value)
です。これは、id
フィールドのカスタムパーティショナーを使用してパーティション化されました。パーティション化されたデータでgroupByKey/reduceBuKeyを実行していますが、キーが異なる
math.abs(id.hashCode % numPartitions)
は今、私はそれがシャッフルし、データセットの再分割を伴うだろう、このパーティションRDDに、次の2つの機能を実行する場合。
val partitionedRDD: ((id:Long, ts:Long), val:String) = <Some Function>
val flatRDD = orderedRDD.map(_ => (_._1.id, (_._1.ts, _._2)))
私は、flatRDD.groupByKey()
とflatRDD.reduceByKey()
かどうかをもう一度データセットをシャッフルし、新しいパーティションを作成しますpartitionedRDDやスパークと同じパーティションを持つことになりますされて知りたいですか?
おかげで、 デビ