【发布时间】:2021-06-02 09:53:04
【问题描述】:
我想使用 spark SQL 或 pyspark 将日期字段从“dd/mm/yyyy”重新格式化为“yyyy/mm/dd”。字段类型为字符串:
from pyspark.sql import SparkSession
from pyspark.sql.types import StringType
spark = SparkSession.builder.master("local[1]")\
.appName("date.com")\
.getOrCreate()
my_df = spark.createDataFrame(["13/04/2020", "16/04/2020", "19/04/2020"], StringType()).toDF("date")
expected_df = spark.createDataFrame(["2020/04/12", "2020/04/16", "2020/04/19"], StringType()).toDF("date")
我尝试了以下 spark sql 命令,但它返回的日期是字面上的 'yyyy/MM/dd' 而不是 '2020/04/12'。
select date_format(date, 'dd/MM/yyyy'), 'yyyy/MM/dd' as reformatted_date
FROM my_df
我还查看了以下文档,但没有看到任何适合我的情况的内容:https://spark.apache.org/docs/latest/sql-ref-datetime-pattern.html
如果在 spark sql 中不可能,那么 pyspark 就可以了。 有什么想法吗?
【问题讨论】:
标签: apache-spark date pyspark apache-spark-sql