无法使用 PySpark 在 Databricks 上与 apache spark 函数 to_timestamp() 连接并添加列

Unable to concatenate with apache spark function to_timestamp() on Databricks using PySpark and add a column

我正在尝试在 Apache Spark table 上使用与 to_timestamp() 的连接并使用 .withColumn 函数添加列,但它不起作用。

代码如下:

DIM_WORK_ORDER.withColumn("LAST_MODIFICATION_DT", to_timestamp(concat(col('LAST_MOD_DATE'), lit(' '), col('LAST_MOD_TIME')), 'yyyyMMdd HHmmss'))

我希望看到的结果类似于

LAST_MODIFICATION_DT | WORK_ORDER

但是,我得到以下结果:

一些要处理的数据:

WORK_ORDER LAST_MOD_TIME 10000008 空 11358186 142254 10000007 193402 10000009 空

有什么想法吗?

据我所知,在 Spark 中,数据帧是不可变的。因此,一旦创建了数据框,它就无法更改。

%python
import pyspark
from pyspark.sql.functions import *
df = spark.read.option("header","true").csv("<input file path>")
df1 = df.withColumn("LAST_MODIFICATION_DT", to_timestamp(concat(col('LAST_MOD_DATE'), lit(' '), col('LAST_MOD_TIME')), 'yyyyMMdd HHmmss'))
display(df1)

我的输出低于预期。如果这不是您所期望的,请提供更多信息