我正在使用to_utc_timestamp
将时间戳转换为UTC时间。当我通过时区时,列中的列不能调用:
data_frame.withColumn(‘target_date’, to_utc_timestamp(data_frame.doj_date, data_frame.doj_tz))
data_frame.doj_tz-列对象不可调用
如何解决?
答案 0 :(得分:0)
如果函数不希望将列对象作为参数,则不能将列对象传递给pyspark
函数。在这种情况下,to_utc_timestamp
需要一个表示时区的字符串,并且您要提供一个列对象,这就是为什么会出现此错误的原因。
解决方法是改为在expr
中使用withColumn
:
import pyspark.sql.functions as func
data_frame.withColumn('target_date', func.expr("to_utc_timestamp(doj_date, doj_tz)"))