Я использую PySpark через Spark 1.5.0. У меня необычный формат String в строках столбца для значений даты и времени. Это выглядит так:
Row[(daytetime='2016_08_21 11_31_08')]
Есть ли способ преобразовать этот неортодоксальный yyyy_mm_dd hh_mm_dd
времени? Что-то, что может в конечном итоге прийти по линии
df = df.withColumn("date_time",df.daytetime.astype('Timestamp'))
Я думал, что функции Spark SQL, такие как regexp_replace
могут работать, но, конечно, мне нужно заменить _
на -
в половине даты и _
на :
в части времени.
Я думал, что смогу разбить столбец на 2, используя substring
и посчитать в обратном направлении с конца времени. Затем выполните 'regexp_replace' отдельно, затем объедините. Но это кажется многим операциям? Есть ли более простой способ?