Spark SQL将DateTim.Date对象解释为数学公式或语句中的整数

g6baxovj  于 2022-10-07  发布在  Spark
关注(0)|答案(1)|浏览(118)

我在Spark SQL中遇到了一个问题。它将DateTim.Date对象解释为我正在编写的一条SQL语句中的数学公式或整数。

currentDateAndTime = datetime,now()
current_month = currentDateAndTie.strftime("%m")
current_year = currentDateAndTime.strftime("%Y")

first_day_of_month = date(int(current_year), int(current)month), 1)
print(first_day_of_month)
type(first_day_of_month)

然后你就会得到:

2022-10-01日期

然后当我这么做的时候

df = spark.sql("""
SELECT * FROM table_A
WHERE IncidentCreatedDate < {}
""".format(first_day_of_month))

我收到一条错误消息,显示AnalysisException:Cannot Resolve‘(TABLE_A.IncidentCreatedDate<((2022-10)-1’由于数据类型不匹配:不同类型in‘(TableA.IncidentCreatedDate<((2022-10-1)’(日期和整数)。;......

上面的所有内容可能都有打字错误,因为我必须在另一台笔记本电脑上输入所有内容,因为另一台是我的工作笔记本电脑,他们不喜欢我将该笔记本电脑上的任何东西发送到其他任何地方。)

rhfm7lfc

rhfm7lfc1#

PYSPARK不支持预准备语句。

格式将取代步长,但字符串必须用单引号引起来,因此只需添加它们

df = spark.sql("""
SELECT * FROM table_A
WHERE IncidentCreatedDate < '{}'
""".format(first_day_of_month))

相关问题