在pyspark中如何从出生日期计算年龄?
我正在计算pyspark中出生日期的年龄:在pyspark中如何从出生日期计算年龄?,pyspark,Pyspark,我正在计算pyspark中出生日期的年龄: def run(first): out = spark.sql(""" SELECT p.birth_date, FROM table1 p LEFT JOIN table2 a USING(id) LEFT JOIN table2 m ON m.id = p.id LEFT JOIN table4 i US
def run(first):
out = spark.sql("""
SELECT
p.birth_date,
FROM table1 p
LEFT JOIN table2 a USING(id)
LEFT JOIN table2 m ON m.id = p.id
LEFT JOIN table4 i USING(id))"""
out = out.withColumn('month', F.lit(first))
out = out.withColumn('age',
F.when(F.col('birth_date').isNull(), None).otherwise(
F.floor(F.datediff(
F.col('month'), F.col('birth_date'))/365.25)))
我在这一行得到以下错误:
F.col('month'), F.col('birth_date'))/365.25)))
TypeError:-:'DataFrame'和'DataFrame'的操作数类型不受支持。
关于如何解决这个问题,你有什么想法吗?你能粘贴完整的stacktrace和代码片段吗,我认为这是不可能的wrong@E.ZY. 我已经用剩下的代码更新了我的问题。这能回答你的问题吗?第一个变量是df还是int?但是您的sql可能是错误的,idk是当您粘贴代码时,在