Spark sql日期转换和执行计算

问题描述 投票:0回答:1

我已经从CSV创建了一个数据框(如下面的屏幕截图所示),并注册为表格(createOrReplaceTempView),稍后我尝试对DOB列进行一些计算,以便找到年龄超过30岁的员工。我正在尝试运行以下查询,但出现错误。请更正或告知我。谢谢!

spark.sql(date_format(to_date(DOB, 'yyyy-dd-mm'), 'dd-MMM-yy') as new_dob).show()

enter image description here

apache-spark-sql
1个回答
0
投票
您的DOB具有多种日期格式尝试-

spark.sql("select coalesce(to_date(DOB, 'dd-MMM-yy'), to_date(DOB, 'yyyy-dd-mm')) as new_dob from <view_name>").show()

© www.soinside.com 2019 - 2024. All rights reserved.