【发布时间】:2020-12-14 17:31:15
【问题描述】:
我正在尝试将三个计算列添加到我的数据框中。
以下方法不起作用并引发错误:
TypeError:参数无效,不是字符串或列:
类型的 DataFrame[TicketClosedDate:timestamp]。对于列字面量,请使用“lit”、“array”、“struct”或“create_map”函数。
TAT = df.select(datediff(col('zTicketSubmitDateUTC'), col('zTicketUpdateDateUTC')).alias('TAT'))
TicketClosedDate = df.select(to_timestamp(
when(col('TicketStatusName')=='Closed',col('TicketUpdateDate'))
.when(col('TicketStatusName')=='Complete',col('TicketUpdateDate'))
.when(col('TicketStatusName')=='Done',col('TicketUpdateDate'))
.otherwise('Null')
).alias('TicketClosedDate'))
zTicketClosedDateUTC = df.select(to_timestamp(
when(col('TicketStatusName')=='Closed',col('zTicketUpdateDateUTC'))
.when(col('TicketStatusName')=='Complete',col('zTicketUpdateDateUTC'))
.when(col('TicketStatusName')=='Done',col('zTicketUpdateDateUTC'))
.otherwise('Null')
).alias('zTicketClosedDateUTC'))
df2 = df.select(
col('ProjectID'),
col('TicketID'),
col('ChildTicketID'),
col('TicketSubmitDate'),
col('zTicketSubmitDateUTC'),
col('TicketUpdateDate'),
col('zTicketUpdateDateUTC'),
TicketClosedDate,
zTicketClosedDateUTC,
col('TicketStatusName'),
col('PtgName'),
col('TicketCategory'),
TAT)
【问题讨论】:
标签: apache-spark pyspark apache-spark-sql