Spark пересматривает мои данные каждый раз, когда я запускаю что-то, связанное с образцом - PullRequest
0 голосов
/ 13 марта 2019

Я запускаю стратифицированную выборку в наборе данных, в которой выборка хранится в фрейме данных с именем df. Когда выполняется подсчет на df, каждый раз, когда я запускаю счет (без повторного запуска стратифицированной выборки), он дает мне другой счет, как будто каждый раз, когда я выполняю операцию на df, мои данные пересчитываются. Я установил начальное значение 12 и использую функцию искры sampleBy.

Я довольно новичок в Spark, это нормально? Как мне решить эту проблему?

1 Ответ

0 голосов
/ 13 марта 2019

Трудно сказать наверняка без кода, но, если вы нигде не кешируете / не сохраняете свой фрейм данных, то spark перезапустит все до того момента, когда вы вызовете действие, подобное .count(),Таким образом, если в какой-то момент вы выбираете данные случайным образом, выборка будет повторена, что приведет к другому результату.

Вы можете использовать df = df.cache() или df = df.persist(), например, при первой загрузке данных и сразу после выборки, чтобы иметь искру, создать своего рода точку останова и не запускать все заново.

ссылка на документацию

Надеюсь, это поможет, удачи!

...