Я пытаюсь выполнить очень простые операции UDF с фреймом данных, и у меня возникают ошибки
Я работаю с примером прямо из PySpark API, единственное отличие состоит в том, что я использую разные данные ( и это мое не работает)
Вот мой DF:
parq.show(3)
+-------------------+---+----------+---------+--------------------+------+--------------+----------------+---------+---------+---------+-------------------+--------+
| registration_dttm| id|first_name|last_name| email|gender| ip_address| cc| country|birthdate| salary| title|comments|
+-------------------+---+----------+---------+--------------------+------+--------------+----------------+---------+---------+---------+-------------------+--------+
|2016-02-03 07:55:29| 1| Amanda| Jordan| ajordan0@com.com|Female| 1.197.201.2|6759521864920116|Indonesia| 3/8/1971| 49756.53| Internal Auditor| 1E+02|
|2016-02-03 17:04:03| 2| Albert| Freeman| afreeman1@is.gd| Male|218.111.175.34| | Canada|1/16/1968|150280.17| Accountant IV| |
|2016-02-03 01:09:31| 3| Evelyn| Morgan|emorgan2@altervis...|Female| 7.161.136.94|6767119071901597| Russia| 2/1/1960|144972.51|Structural Engineer| |
+-------------------+---+----------+---------+--------------------+------+--------------+----------------+---------+---------+---------+-------------------+--------+
Вот соответствующая запись схемы:
parq.printSchema()
|-- salary: double (nullable = true)
Затем выполните простую операцию udf возвести в квадрат столбец окладов
square_udf = F.udf(lambda z: z**2, DoubleType())
parq.select(square_udf(F.col("salary"))).show(10)
Это дает: org.apache.spark.SparkException: Job aborted due to stage failure ...
На мой взгляд, нет абсолютно никакой причины, по которой это следует делать, если кто-то мог бы прояснить мое мышление, что было бы большой.