Dataframe 拼花地板文件出现异常:本地日期时间参数的UTC偏移量与偏移量参数不匹配

Dataframe 拼花地板文件出现异常:本地日期时间参数的UTC偏移量与偏移量参数不匹配,dataframe,apache-spark,apache-spark-sql,Dataframe,Apache Spark,Apache Spark Sql,在代码中,我能够将日期列从字符串转换为日期类型,但在打开时输出拼花文件出现以下错误: Parquet.ParquetException:读取列“日期”时发生致命错误 System.ArgumentException:本地dateTime参数的UTC偏移量与偏移量参数不匹配 有人能帮我吗?我无法复制这个- 试着写和读同样的东西 val df1=Seq((“2014-10-06”)、(“2014-10-07”)、(“2014-10-08”)、(“2014-10-09”)、(“2014-10-10”)

在代码中,我能够将日期列从字符串转换为日期类型,但在打开时输出拼花文件出现以下错误:

Parquet.ParquetException:读取列“日期”时发生致命错误 System.ArgumentException:本地dateTime参数的UTC偏移量与偏移量参数不匹配


有人能帮我吗?

我无法复制这个-

试着写和读同样的东西

val df1=Seq((“2014-10-06”)、(“2014-10-07”)、(“2014-10-08”)、(“2014-10-09”)、(“2014-10-10”)。toDF(“日期”)
df1.printSchema()
/**
*根
*|--DATE:string(nullable=true)
*/
导入org.apache.spark.sql.functions.{col,to_date}
val df2=df1。带列(“日期”,至日期(列(“日期”),“yyyy-MM-dd”))
df2.printSchema()
/**
*根
*|--DATE:DATE(nullable=true)
*/
df2.write.mode(SaveMode.Overwrite).parquet(“/Users/sokale/models/stack”)
spark.read.parquet(“/Users/sokale/models/stack”).show(false)
/**
* +----------+
*|日期|
* +----------+
* |2014-10-08|
* |2014-10-09|
* |2014-10-10|
* |2014-10-06|
* |2014-10-07|
* +----------+
*/

我也可以从read.parquet中将其作为数据帧读取,但是当我试图在parquet Viewer应用程序中打开它时,它会出现错误。您可以尝试将列的名称更改为
日期列吗?类似于
val df2=df1.withColumn(“date\u column”)、to\u date(col(“date”)、“yyyy-MM-dd”)
。保存
df2
并尝试通过应用程序读取
零件
文件。可能是应用程序在某种不同的意义上使用了
DATE
import sparkSession.sqlContext.implicits._
val df = Seq(("2014-10-06"), ("2014-10-07"), ("2014-10-08"), ("2014-10-09"), ("2014-10-10")).toDF("DATE")
df.printSchema()

import org.apache.spark.sql.functions.{col, to_date}
val df2 = df.withColumn("DATE", to_date(col("DATE"), "yyyy-MM-dd"))
df2.printSchema()

df2.write.mode(SaveMode.Overwrite).parquet("C:\\TEMP\\")
root
 |-- DATE: string (nullable = true)

root
 |-- DATE: date (nullable = true)