Apache spark 在pyspark中将yyyymmdd转换为MM dd yyyy格式
我有一个大数据框df,其中包含一列日期,格式为Apache spark 在pyspark中将yyyymmdd转换为MM dd yyyy格式,apache-spark,pyspark,apache-spark-sql,pyspark-sql,Apache Spark,Pyspark,Apache Spark Sql,Pyspark Sql,我有一个大数据框df,其中包含一列日期,格式为yyyymmdd,如何将其转换为pySpark中的MM-dd-yyyy。这也在起作用: from datetime import datetime from pyspark.sql.functions import col,udf from pyspark.sql.types import DateType rdd = sc.parallelize(['20161231', '20140102', '20151201', '20161124'])
yyyymmdd
,如何将其转换为pySpark中的MM-dd-yyyy
。这也在起作用:
from datetime import datetime
from pyspark.sql.functions import col,udf
from pyspark.sql.types import DateType
rdd = sc.parallelize(['20161231', '20140102', '20151201', '20161124'])
df1 = sqlContext.createDataFrame(rdd, ['old_col'])
# UDF to convert string to date
func = udf (lambda x: datetime.strptime(x, '%Y%m%d'), DateType())
df = df1.withColumn('new_col', date_format(func(col('old_col')), 'MM-dd-yyy'))
df.show()
from datetime import datetime
from pyspark.sql.functions import col,udf,unix_timestamp
from pyspark.sql.types import DateType
func = udf(lambda x: datetime.strptime(str(x), '%m%d%y'), DateType())
df2 = df.withColumn('date', func(col('InvcDate')))
感谢mrsrinivas,我正在使用齐柏林飞艇,这段代码运行时没有错误,但我无法对代码的结果进行处理(操作或转换)。我是Spark的新手,如果我遗漏了什么,请帮助我。使用
df.show()
获取最终输出。您可能已经将数据加载到dataframe(df1
)感谢Sinivas先生,我所缺少的只是一点更改,如果其他人发现我的更改有用,我也会发布。再次感谢。微小的代码片段更正:它错过了pyspark.sql.functions import date_格式的,您是否得到这种格式的输出MM dd yyyy
。我想它是在yyyy-MM-dd
中给出的。