在sparksql中将日期字符串作为变量传递

stszievb  于 2021-07-14  发布在  Spark
关注(0)|答案(1)|浏览(281)

我无法在spark sql中传递日期字符串
当我运行这个

spark.sql(""" SELECT cast ('2021-04-12' as date) """)
> DataFrame[CAST(2021-04-12 AS DATE): date]

但是,当我想把日期字符串作为变量传递时,我得到了一个错误

date_str = '2021-04-12'
 spark.sql(""" SELECT cast ({} as date) """.format(date_str))

 > AnalysisException: cannot resolve 'CAST(((2021 - 4) - 12) AS DATE)' 
 > due to data type mismatch: cannot cast int to date; line 1 pos 7;

我不知道如何传递那个变量。

tkqqtvp1

tkqqtvp11#

您只需将单引号添加到查询中,就可以了

spark.sql(""" SELECT cast ('{}' as date) """.format(date_str))

相关问题