【发布时间】:2020-12-20 02:53:21
【问题描述】:
需要将一个pyspark数据帧列checkin_time从milisec传输到时区调整时间戳,时区信息在另一列tz_info中。
尝试以下:
def tz_adjust(x,tz_info):
if tz_info:
y = col(x)+ col(tz_info)
return from_unixtime(col(y)/1000)
else:
return from_unixtime(col(x)/1000)
def udf_tz_adjust(tz_info):
return udf(lambda l: tz_adjust(l, tz_info))
同时使用这个udf到列
df.withColumn('checkin_time',udf_tz_adjust('time_zone')(col('checkin_time')))
got some error:
AttributeError: 'NoneType' object has no attribute '_jvm'
知道将第二列作为参数传递给 udf 吗? 谢谢。
【问题讨论】:
标签: pyspark user-defined-functions