PySpark: Как я могу исправить объект 'function', не имеющий атрибута 'rand' error? - PullRequest
0 голосов
/ 09 апреля 2020

Я пытаюсь случайным образом выбрать 100 строк из моего PySpark Dataframe. Для этого я хотел бы использовать код, описанный в этом сообщении :

training_data= data.orderBy(F.rand()).limit(100)

Однако я получаю сообщение об ошибке:

AttributeError: 'function' object has no attribute 'rand'

Я импортировал rand () следующим образом:

from pyspark.sql.functions import rand as F

Я пытался импортировать rand так же, как описано в посте, но я получаю ошибку:

ModuleNotFoundError: No module named 'org'

Я также пытался использовать функцию просто как таковой:

training_data= data.orderBy(rand()).limit(100)

Но тогда я получаю следующее имя ошибки:

NameError: name 'rand' is not defined

Кто-нибудь знает, как это исправить? Я новичок в PySpark, и я думаю, что мне здесь не хватает чего-то очевидного. Обратите внимание, что я работаю над Databricks.

Спасибо

1 Ответ

0 голосов
/ 09 апреля 2020

Хорошо, мне действительно удалось достичь того, чего я хотел, выполнив следующее:

training_data, test_data = data.randomSplit([0.7, 0.3], seed = 100)
...