Функция takeSample() в Spark

Я пытаюсь использовать takeSample() Функция в Spark и параметры: данные, количество образцов и семя. Но я не хочу использовать семя. Я хочу иметь разные ответы каждый раз. Я не могу понять, как я могу это сделать. Я пытался с помощью System.nanoTime в качестве начального значения, но это дало ошибку, так как я думаю, что тип данных не совпадает. Есть ли другая функция, аналогичная takeSample() что можно использовать без семени? Или есть какая-то другая реализация, с которой я могу использовать takeSample() так что я получаю разные выходные данные каждый раз.

3 ответа

Решение

System.nanoTime имеет тип longСемя, ожидаемое takeSample имеет тип Int, Следовательно, takeSample(..., System.nanoTime.toInt) должно сработать.

System.nanoTime возвращает Long, тогда как takeSample ожидает Int.
Вы можете кормить scala.util.Random.nextInt в качестве начального значения для функции takeSample.

Начиная с версии Spark 1.0.0, seed параметр является необязательным. См. https://issues.apache.org/jira/browse/SPARK-1438.

Другие вопросы по тегам