Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.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
将PySpark中的整数列转换为日期_Pyspark_Apache Spark Sql_Pyspark Dataframes - Fatal编程技术网

将PySpark中的整数列转换为日期

将PySpark中的整数列转换为日期,pyspark,apache-spark-sql,pyspark-dataframes,Pyspark,Apache Spark Sql,Pyspark Dataframes,我有一个名为birth\u date的整数列,格式如下:20141130 我想在PySpark中将其转换为2014-11-30 这会错误地转换日期: .withColumn("birth_date", F.to_date(F.from_unixtime(F.col("birth_date")))) 这给出了一个错误:参数1需要(字符串、日期或时间戳)类型,但“出生日期”是int类型 .withColumn('birth_date', F.to_date(

我有一个名为
birth\u date
的整数列,格式如下:
20141130

我想在PySpark中将其转换为
2014-11-30

这会错误地转换日期:

.withColumn("birth_date", F.to_date(F.from_unixtime(F.col("birth_date"))))
这给出了一个错误:
参数1需要(字符串、日期或时间戳)类型,但“出生日期”是int类型

.withColumn('birth_date', F.to_date(F.unix_timestamp(F.col('birth_date'), 'yyyyMMdd').cast('timestamp')))

将其转换为我想要的日期的最佳方法是什么?

出生日期
列从
整数
转换为
字符串
,然后将其传递给
转换日期
函数:

from pyspark.sql import functions as F

df.withColumn("birth_date", F.to_date(F.col("birth_date").cast("string"), \
    'yyyyMMdd')).show()

+----------+
|birth_date|
+----------+
|2014-11-30|
+----------+