8
我通过Spark 1.5.0使用PySpark。 我在日期时间值列的行中有一个不寻常的字符串格式。它看起来像这样:PySpark数据框将不寻常的字符串格式转换为时间戳
Row[(daytetime='2016_08_21 11_31_08')]
有没有办法来这个非正统yyyy_mm_dd hh_mm_dd
格式转换成时间戳? 的东西,可以沿
df = df.withColumn("date_time",df.daytetime.astype('Timestamp'))
线最终走到我原以为像regexp_replace
火花SQL函数可以工作,但我当然需要在日期一半 和_
与:
与-
更换 _
时间部分。 我在想我可以使用substring
将列拆分为2并从时间结束倒数。然后分别执行'regexp_replace',然后连接。但是,这似乎很多操作?有更容易的方法吗?
所以我其实没有得到正确的结果: ................................ df1 = df1.withColumn(“dayte_time”,unix_timestamp( “daytetime”,“yyyy_MM_dd hh_mm_ss”)。cast(“timestamp”)) df1 = df1.withColumn(“date_time”,df1.dayte_time.astype(“String”)) ---------- -------------------------------------------------- -------------------- [行(daytetime ='2016_08_22 23_18_51',idnbr = 223338299392,dayte_time = datetime.datetime(1970,1,18,0,51 ,47,931000),date_time ='1970-01-18 00:51:47.931') – PR102012
对不起,我一直忘记1.5是越野车。在'.cast(“timestamp”)' – zero323
之前投了两倍或乘以1000是的,完美的。 '.cast(“double”)'提前工作。 – PR102012