【发布时间】:2018-01-24 21:41:39
【问题描述】:
我正在尝试将数据从 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 中修改时区
仅供参考:
卡桑德拉时区:美国东部时间 正在运行 spark 作业的本地时区:EDT
【问题讨论】:
-
Cassandra 使用 UTC 时间存储在时间戳列中。如果您需要输出中的特定时区实例,则必须将 UTC 转换为所需的时区。您可以通过生成的数据框列来做到这一点。
标签: datetime cassandra apache-spark-sql spark-dataframe