Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/5.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
在Scala Spark中的写入操作期间,输出时间戳列值正在更改?_Scala_Apache Spark - Fatal编程技术网

在Scala Spark中的写入操作期间,输出时间戳列值正在更改?

在Scala Spark中的写入操作期间,输出时间戳列值正在更改?,scala,apache-spark,Scala,Apache Spark,我试图从源读取数据并将数据插入另一个配置单元表,但所有时间戳列的值都已更改(-4小时)。为什么它会更改时间戳 这是源代码的外观: ID日期 1, 2019-05-14 00:00:00 这是插入后配置单元表的外观: ID日期 1, 2019-05-13 20:00:00 我不知道为什么所有的时间戳列都改为-4小时,希望有人已经遇到了这个问题 我尝试了以下几个选项 在代码中使用conf.set(“spark.sql.session.timeZone”,“EDT”) 将数据类型强制转换为

我试图从源读取数据并将数据插入另一个配置单元表,但所有时间戳列的值都已更改(-4小时)。为什么它会更改时间戳

这是源代码的外观:

ID日期
1,   2019-05-14 00:00:00
这是插入后配置单元表的外观:

ID日期
1,   2019-05-13 20:00:00
我不知道为什么所有的时间戳列都改为-4小时,希望有人已经遇到了这个问题

我尝试了以下几个选项

  • 在代码中使用
    conf.set(“spark.sql.session.timeZone”,“EDT”)
  • 将数据类型强制转换为StringType,然后将其加载到时间戳列
  • 在加载数据之前使用
    选项(“timestampFormat”,“yyyy-MM-dd hh:MM:ss”)
  • 加载前使用
    TimeZone.setDefault(TimeZone.getTimeZone(“EDT”))
  • 我知道这是因为时区的不同。但如何解决这个问题呢