0

クエリ処理エンジンとして Apache Spark を使用しています。最近直面した問題は、rdd の要素数を制限したいということです。

rdd には、rdd から指定された数の要素のみを取得するために使用できる take 関数があることを知っています。ただし、この関数を適用すると、結果は rdd になりません。

この機能を適用しても、rdd は (変換として) そのままにしておく必要があります。

だから今のところ私がしたことは次のとおりです

public JavaRDD<Map<String,Object>> limitRDD(JavaRDD<Map<String,Object>> rdd, JavaSparkContext context, int number){
context.parallelize(rdd.take(number));
return rdd;

これはかなりの時間の無駄だと思います。ただし、マップ、フィルターなどの変換を使用してこの機能を実装する方法は考えられません。

私がここでやったことなしにこれを達成する方法はありますか?

ありがとう

4

1 に答える 1

0

私はsampleあなたが望む機能かもしれないと思います。

于 2015-12-02T05:52:10.283 に答える