FAQ-写入mysql后的时间字段和原时间相差n小时
更新时间: 2024-03-11 02:48:31
阅读 1378
问题描述
问题描述/异常栈
写入mysql后时间字段与原来的时间字段不同
1、精度问题
在数据传输中,时间戳字段精确到秒级。
在数据库传输中,时间戳字段精确到毫秒级。
2、时区问题
在数据库传输中,时区采用默认的本地时区东八区,导入数据正常。
而数据传输中,任务执行成预编译语句时,时区解析成CST(Central Standard Tim UTC-6),采用美国的中部时区,导入数据相差14个小时。可以在配置数据源信息的时候加上 ?serverTimezone=GMT%2B8 指定本地时区东八区。
例如:jdbc:mysql://ServerIP:Port/Database?serverTimezone=GMT%2B8
解决方案
1.也可以把连接串修改一下,把时区的参数serverTimezone=GMT%2B8
带上。这样所有用到这个数据源的任务都会生效
2.mysql侧的高级配置添加配置项。key:urlSuffix,serverTimezone=GMT%2B8
参考文章:
https://blog.csdn.net/BaideS/article/details/108563785
https://www.google.com/search?q=Spark%E5%92%8C%E6%95%B0%E6%8D%AE%E5%BA%93%E6%97%B6%E9%97%B4%E6%88%B3%E7%9B%B8%E5%B7%AE14%E5%B0%8F%E6%97%B6&oq=Spark%E5%92%8C%E6%95%B0%E6%8D%AE%E5%BA%93%E6%97%B6%E9%97%B4%E6%88%B3%E7%9B%B8%E5%B7%AE14%E5%B0%8F%E6%97%B6&aqs=chrome..69i57j69i61.535j0j1&sourceid=chrome&ie=UTF-8
问题原因
作者:常惠渊 ```
文档反馈
以上内容对您是否有帮助?