2016-07-11 3 views
0

私はSparkを初めて使用しています。私はいくつかのデータ争いに取り組んでいます。 SparkのRDDテーブルからランダムに行を選択するときに問題があります。.sample()は、Sparkの固定ランダムジェネレータシードで異なる結果を返します。

RDDテーブルから選択している行が毎回同じであることを確認するために(これは、後のテーブル結合が正しいかどうかを確認するのが簡単です)、ランダムにジェネレータ。私は.sample()を使用します。ここでは、コードされています

val distinct_id = rddtable.select("id").distinct().sample(false, .00008, seed = 1453)

は、乱数発生器のシードは1453に設定されているが、

​​

は異なる結果に私はそれを実行するたびに表示されます。

これはRとPythonでの私の経験の点で非常に奇妙です。 RとPythonでは、シードをあらかじめ指定しておけば、ランダムジェネレータは常に私に同じ結果を与えるはずです。

ありがとうございます。

答えて

1

サンプリング前に識別ID rddをソートしてみてください。 idの順番は実行ごとに異なるため、異なるサンプリング結果が発生する可能性があります。

関連する問題