SPARK SQL和Cassandra之间的时区不匹配

时间:2017-08-16 16:31:13

标签: datetime cassandra apache-spark-sql spark-dataframe

我正在尝试将数据从Cassandra加载到Spark DataFrame,但是时间戳列值正在转换为UTC时区而不是EDT

我正在寻找一种解决方案,在这两种情况下,时区应该是EDT。

例如:

Cassandra时间戳: - 16-08-2017 00:00:00(EDT时区)

查询spark sql dataframe / tempview后获取时间戳: - 15-08-2017 20:00:00(4小时变化,时区为UTC)

我搜索了很多,发现转换将根据本地时间戳完成,但即使在更改本地时间戳后,我仍然看到在SPARK SQL中修改了时区

供参考:

卡桑德拉时区:美国东部时间 正在运行火花作业的当地时区:EDT

1 个答案:

答案 0 :(得分:1)

Cassandra默认使用UTC时区,但cqlshrc中指定的时区只会在将其显示到控制台时进行更改/类型转换。

对于我的情况,我已经将当地时区从EDT修改为UTC以完成工作,但按照规定,它也可以适应所需的时间。

感谢@Uttam Kasundara触发完美点。