Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache spark Spark SQL:将日期字符串从dd/mm/yyyy解析为yyyy/mm/dd_Apache Spark_Date_Pyspark_Apache Spark Sql - Fatal编程技术网

Apache spark Spark SQL:将日期字符串从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”、“

我想使用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”、“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