Apache spark Spark SQL:将日期字符串从dd/mm/yyyy解析为yyyy/mm/dd
我想使用spark SQL或pyspark将日期字段从'dd/mm/yyyy'重新格式化为'yyyy/mm/dd'。字段类型为字符串:Apache spark Spark SQL:将日期字符串从dd/mm/yyyy解析为yyyy/mm/dd,apache-spark,date,pyspark,apache-spark-sql,Apache Spark,Date,Pyspark,Apache Spark Sql,我想使用spark SQL或pyspark将日期字段从'dd/mm/yyyy'重新格式化为'yyyy/mm/dd'。字段类型为字符串: 从pyspark.sql导入SparkSession 从pyspark.sql.types导入StringType spark=SparkSession.builder.master(“本地[1]”)\ .appName(“date.com”)\ .getOrCreate() my_df=spark.createDataFrame([“13/04/2020”、“
从pyspark.sql导入SparkSession
从pyspark.sql.types导入StringType
spark=SparkSession.builder.master(“本地[1]”)\
.appName(“date.com”)\
.getOrCreate()
my_df=spark.createDataFrame([“13/04/2020”、“16/04/2020”、“19/04/2020”),StringType()).toDF(“日期”)
预期的_df=spark.createDataFrame([“2020/04/12”、“2020/04/16”、“2020/04/19”),StringType()).toDF(“日期”)
我尝试了下面的sparksql命令,但它返回的日期字面上是“yyyy/MM/dd”,而不是“2020/04/12”
选择日期格式(日期,'dd/MM/yyyy'),'yyyy/MM/dd'作为重新格式化的日期
从我的
我还查看了以下文档,但没有看到任何适合我的场景的内容:
如果在sparksql中不可能,那么pyspark可以工作。
有什么想法吗?您需要首先使用
转换为日期类型:
select date_format(to_date(date, 'dd/MM/yyyy'), 'yyyy/MM/dd') as reformatted_date
from my_df