私はfilter
を使用した後、スパークRDD.isEmpty
を使用しました。しかし、isEmpty
はtake(1)
のアクション操作であるため、大きなデータには時間がかかると思います。RDDのチェック方法は効率的ですか?
ここでは例のコードです。
val data = sc.parallelize(Seq(("a", 1), ("a", 2), ("b", 2), ("b", 3), ("c", 1)))
.reduceByKey(_+_)
.filter(_._2 > 5)
//Array[(String, Int)] = Array()
if(!data.isEmpty()){
//running code...
}
データ値が空であるかどうかを確認する効率的な方法はありますか?
なぜループ内でdata.count()を使用しないのですか? – CoDhEr
大きなデータには適していないと思います。 –
*しかし、大量のデータでは時間がかかると思います。*これは腸のような感じです。あなたのコードをベンチマークしましたか?これが実際のボトルネックですか? –