2013-02-04 9 views
6

SparktakeSample()関数を使用しようとしています。パラメータは - のデータ、取るサンプル数およびシードです。しかし、私は種子を使いたくない。毎回違う答えをしたい。私はそれをどうやってできるのか理解できません。私はSystem.nanoTimeをシード値として使用しようとしましたが、データ型が一致しなかったと考えてエラーが発生しました。シードなしで使用できるtakeSample()に類似した他の機能はありますか?または、私がtakeSample()と一緒に使うことができる他の実装があるので、毎回異なる出力が得られます。sparkのtakeSample()関数

答えて

7

System.nanoTimeは、タイプlongであり、takeSampleによって予想される種は、タイプIntである。したがって、takeSample(..., System.nanoTime.toInt)が動作するはずです。

+1

スカラーの '.toInt'は' .intValue'より優先すべきです –

+0

@RégisJean-Gillesありがとう、訂正しました。 –

1

System.nanoTimeはlongを返しますが、takeSampleはIntを想定しています。
scala.util.Random.nextIntを、シード値としてtakeSample関数に渡すことができます。

関連する問題