Python 火花UDF导致作业中止
我试图在数据帧上执行非常简单的UDF操作,但遇到了错误 我正在使用一个直接来自PySpark API的示例,唯一的区别是我使用的数据不同(而我的不起作用) 这是我的DF:Python 火花UDF导致作业中止,python,apache-spark,pyspark,apache-spark-sql,user-defined-functions,Python,Apache Spark,Pyspark,Apache Spark Sql,User Defined Functions,我试图在数据帧上执行非常简单的UDF操作,但遇到了错误 我正在使用一个直接来自PySpark API的示例,唯一的区别是我使用的数据不同(而我的不起作用) 这是我的DF: parq.show(3) +-------------------+---+----------+---------+--------------------+------+--------------+----------------+---------+---------+---------+--------------
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.sparkeexception:由于阶段失败,作业中止…
在我看来,如果有人能澄清我的想法,那么它绝对没有理由这么做。感谢@Gocht测试我的代码并说它可以工作。我的薪水栏中有空值,所以我先运行这个:
parq_nn = parq.select("*").where("salary is not null")
它成功了你能提供一点你的
parq
dataframe的样本吗?@Gocht我已经更新了我的帖子,我已经测试了你的代码,没有出现错误。这可能是因为你的环境。