小编P3P*_*3P0的帖子

如何在databricks中的SQL语句中使用变量?

我想在 where 子句中使用带有两个变量的 WHERE 语句。我对此进行了研究,了解如何在 Databricks 中的 SQL 语句中使用变量以及使用 Python 插入变量,但不起作用。我尝试实施所提供的解决方案,但它不起作用。

a= 17091990
b = 30091990

df = spark.sql(' SELECT * FROM table WHERE date between "a" AND "b" ')
Run Code Online (Sandbox Code Playgroud)

databricks

6
推荐指数
1
解决办法
1万
查看次数

将 int YYYYMMDD 转换为日期 pyspark

我正在尝试使用 Pyspark 将 Databricks 中的 INT 列转换为日期列。该列如下所示:

Report_Date
20210102
20210102
20210106
20210103
20210104
Run Code Online (Sandbox Code Playgroud)

我正在尝试使用 CAST 函数

df = df.withColumn("Report_Date", col("Report_Date").cast(DateType()))
Run Code Online (Sandbox Code Playgroud)

但我收到以下错误:

由于数据类型不匹配,无法解析“CAST(`Report_Date` AS DATE)”:无法将 int 转换为 date;

你知道我怎样才能得到预期的输出吗?

date-formatting apache-spark apache-spark-sql pyspark

0
推荐指数
1
解决办法
1万
查看次数