2013-02-04 12 views
6

Próbuję użyć funkcji takeSample() w Spark, a parametry są - dane, liczba próbek do pobrania i nasiona. Ale nie chcę używać nasion. Za każdym razem chcę mieć inną odpowiedź. Nie jestem w stanie wymyślić, jak to zrobić. Próbowałem użyć System.nanoTime jako wartości początkowej, ale spowodowało błąd, ponieważ myślę, że typ danych nie pasuje. Czy jest jakaś inna funkcja podobna do takeSample(), która może być używana bez nasion? Czy istnieje inna implementacja, której mogę użyć z takeSample(), aby za każdym razem uzyskać inny wynik.Funkcja takeSample() w Spark

Odpowiedz

7

System.nanoTime jest typu long, ziarno oczekiwane przez takeSample jest typu Int. Dlatego powinien działać takeSample(..., System.nanoTime.toInt).

+1

W scala '.toInt' powinno być preferowane przez' .intValue' –

+0

@ RégisJean-Gilles Dzięki, poprawione. –

1

System.nanoTime zwraca Long, natomiast takeSample oczekuje wartości Int.
Możesz podać scala.util.Random.nextInt jako wartość początkową do funkcji takeSample.