Pyspark 如何在pysark中将4/23/19这样的字符串解析为时间戳
我有一些列的日期来自源文件,看起来像4/23/19 4是月,23是日,19是2019年 如何在pyspark中将其转换为时间戳 到目前为止Pyspark 如何在pysark中将4/23/19这样的字符串解析为时间戳,pyspark,timestamp,Pyspark,Timestamp,我有一些列的日期来自源文件,看起来像4/23/19 4是月,23是日,19是2019年 如何在pyspark中将其转换为时间戳 到目前为止 def ParseDateFromFormats(col, formats): return coalesce(*[to_timestamp(col, f) for f in formats]) df2 = df2.withColumn("_" + field.columnName, ParseDateFromFormats(df2[field.col
def ParseDateFromFormats(col, formats):
return coalesce(*[to_timestamp(col, f) for f in formats])
df2 = df2.withColumn("_" + field.columnName, ParseDateFromFormats(df2[field.columnName], ["dd/MM/yyyy hh:mm", "dd/MM/yyyy", "dd-MMM-yy"]).cast(field.simpleTypeName))
似乎没有一种日期格式可以工作您的代码不工作的原因可能是因为您颠倒了日期和月份。 这项工作:
从pyspark.sql.functions导入到
time_df=spark.createDataFrame([('4/23/19',)],['dt'])
带列的时间('正确日期',至日期('dt','MM/dd/yy'))。显示()
+-------+-----------+
|dt |正确日期|
+-------+-----------+
|4/23/19| 2019-04-23|
+-------+-----------+
这是否回答了您的问题?