Apache spark 在pyspark数据框中添加日期

Apache spark 在pyspark数据框中添加日期,apache-spark,pyspark,apache-spark-sql,Apache Spark,Pyspark,Apache Spark Sql,我正在使用Azure databricks运行时7.3 LTS 我有pyspark数据帧df。在df中,我想添加一个新的列Date\u time,它将具有日期值。 所以我写了以下评论 from pyspark.sql import functions as F timestamp='2020-01-03' df.withColumn('Date_time', timestamp) 但我收到了错误信息 AssertionError: col should be Column 如何纠正此错误?如

我正在使用Azure databricks运行时7.3 LTS 我有pyspark数据帧df。在df中,我想添加一个新的列Date\u time,它将具有日期值。 所以我写了以下评论

from pyspark.sql import functions as F
timestamp='2020-01-03'
df.withColumn('Date_time', timestamp)
但我收到了错误信息

AssertionError: col should be Column
如何纠正此错误?

如果您希望“日期时间”列具有文字值,则可以使用
lit
函数进行此操作

您需要按如下方式修改代码:

from pyspark.sql import functions as F
timestamp='2020-01-03'
df = df.withColumn('Date_time', F.lit(timestamp))

除了另一个答案之外,您可能还希望将列强制转换为时间戳类型或日期类型。否则,默认情况下它将是字符串类型,这可能不是您想要的

import pyspark.sql.functions as F

timestamp = '2020-01-03'
df = df.withColumn('Date_time', F.lit(timestamp).cast('timestamp'))

# or, if you want a date type instead,
# df = df.withColumn('Date_time', F.lit(timestamp).cast('date'))

这回答了你的问题吗?