Apache spark 如何将具有常量值的新日期列添加到Spark数据帧(使用PySpark)?
我想使用pyspark添加一个带有默认日期('1901-01-01')的列,并退出数据帧 我使用了下面的代码片段Apache spark 如何将具有常量值的新日期列添加到Spark数据帧(使用PySpark)?,apache-spark,apache-spark-sql,Apache Spark,Apache Spark Sql,我想使用pyspark添加一个带有默认日期('1901-01-01')的列,并退出数据帧 我使用了下面的代码片段 from pyspark.sql import functions as F strRecordStartTime="1970-01-01" recrodStartTime=hashNonKeyData.withColumn("RECORD_START_DATE_TIME", lit(strRecordStartTime).cast("timestamp") ) 它
from pyspark.sql import functions as F
strRecordStartTime="1970-01-01"
recrodStartTime=hashNonKeyData.withColumn("RECORD_START_DATE_TIME",
lit(strRecordStartTime).cast("timestamp")
)
它给了我以下的错误
org.apache.spark.sql.AnalysisException:无法解析“1970-01-01
”
欢迎使用任何指针?请尝试将python native
datetime
与lit
一起使用,很抱歉,现在无法访问计算机
recrodStartTime = hashNonKeyData.withColumn('RECORD_START_DATE_TIME', lit(datetime.datetime(1970, 1, 1))
我创建了一个spark数据帧:
from pyspark.sql.types import StringType
df1 = spark.createDataFrame(["Ravi","Gaurav","Ketan","Mahesh"], StringType()).toDF("Name")
from pyspark.sql.functions import lit
import dateutil.parser
yourdate = dateutil.parser.parse('1901-01-01')
df2= df1.withColumn('Age', lit(yourdate)) // addition of new column
df2.show() // to print the dataframe
现在,让我们向现有数据帧添加一个新列:
from pyspark.sql.types import StringType
df1 = spark.createDataFrame(["Ravi","Gaurav","Ketan","Mahesh"], StringType()).toDF("Name")
from pyspark.sql.functions import lit
import dateutil.parser
yourdate = dateutil.parser.parse('1901-01-01')
df2= df1.withColumn('Age', lit(yourdate)) // addition of new column
df2.show() // to print the dataframe
您可以使用下面的命令验证模式
df2.printSchema
希望有帮助